---
Fuzzer filename: "MonitorConfigFuzzer"
Fuzzing method: "fuzzerTestOneInput"
All functions:
  Function list name: "All functions"
  Elements:
  - functionName: "[com.google.common.collect.Iterables$ConsumingQueueIterator].<init>(java.util.Queue)"
    functionSourceFile: "com.google.common.collect.Iterables$ConsumingQueueIterator"
    linkageType: ""
    functionLinenumber: 958
    functionLinenumberEnd: 962
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Queue"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.AbstractIterator].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$ConsumingQueueIterator:959,1"
      Dst: "[com.google.common.collect.AbstractIterator].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$ConsumingQueueIterator].computeNext()"
    functionSourceFile: "com.google.common.collect.Iterables$ConsumingQueueIterator"
    linkageType: ""
    functionLinenumber: 964
    functionLinenumberEnd: 968
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.LinkedBlockingDeque].remove()"
    - "[com.google.common.collect.Synchronized$SynchronizedQueue].remove()"
    - "[com.google.common.collect.ForwardingQueue].remove()"
    - "[java.util.ArrayDeque].remove()"
    - "[java.util.LinkedList].remove()"
    - "[java.util.AbstractQueue].remove()"
    - "[com.google.common.collect.AbstractIterator].endOfData()"
    - "[java.util.Queue].remove()"
    functionUses: 1
    ICount: 7
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$ConsumingQueueIterator:965,1"
      Dst: "[java.util.Queue].remove()"
    - Src: "com.google.common.collect.Iterables$ConsumingQueueIterator:967,1"
      Dst: "[com.google.common.collect.AbstractIterator].endOfData()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$ConsumingQueueIterator].<init>(java.util.Queue,com.google.common.collect.Iterables$1)"
    functionSourceFile: "com.google.common.collect.Iterables$ConsumingQueueIterator"
    linkageType: ""
    functionLinenumber: 955
    functionLinenumberEnd: 957
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.Queue"
    - "com.google.common.collect.Iterables$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterables$ConsumingQueueIterator].<init>(java.util.Queue)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$ConsumingQueueIterator:956,1"
      Dst: "[com.google.common.collect.Iterables$ConsumingQueueIterator].<init>(java.util.Queue)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTag].<init>(java.lang.String,java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.BasicTag"
    linkageType: ""
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.netflix.servo.tag.BasicTag].checkNotEmpty(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTag:31,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.tag.BasicTag:32,1"
      Dst: "[com.netflix.servo.tag.BasicTag].checkNotEmpty(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTag].checkNotEmpty(java.lang.String,java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.BasicTag"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String,java.lang.String)"
    - "[java.lang.String].isEmpty()"
    functionUses: 2
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.BasicTag:41"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.BasicTag:40"
        BranchSideFuncs:
        - "isEmpty()"
        - "checkArgument(boolean,java.lang.String,java.lang.String)"
      - BranchSide: "com.netflix.servo.tag.BasicTag:39"
        BranchSideFuncs:
        - "isEmpty()"
        - "checkNotNull(java.lang.Object,java.lang.String)"
        - "checkArgument(boolean,java.lang.String,java.lang.String)"
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTag:40,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.tag.BasicTag:41,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "com.netflix.servo.tag.BasicTag:41,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    functionSourceFile: "com.netflix.servo.util.Preconditions"
    linkageType: ""
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    functionUses: 17
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.Preconditions:31"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Preconditions:35"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "<init>(java.lang.String)"
      - BranchSide: "com.netflix.servo.util.Preconditions:34"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.Preconditions:32,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.netflix.servo.util.Preconditions:33,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String,java.lang.String)"
    functionSourceFile: "com.netflix.servo.util.Preconditions"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "boolean"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 2
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.Preconditions:60"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Preconditions:68"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.Preconditions:67"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.Preconditions:61"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Preconditions:65"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
      - BranchSide: "com.netflix.servo.util.Preconditions:64"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "com.netflix.servo.util.Preconditions:62,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.netflix.servo.util.Preconditions:63,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTag].getKey()"
    functionSourceFile: "com.netflix.servo.tag.BasicTag"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 15
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTag].getValue()"
    functionSourceFile: "com.netflix.servo.tag.BasicTag"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 13
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTag].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.tag.BasicTag"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.netflix.servo.annotations.DataSourceType].getKey()"
    - "[com.netflix.servo.annotations.DataSourceLevel:com.netflix.servo.tag.BasicTag:com.netflix.servo.tag.InjectableTag].getKey()"
    - "[com.netflix.servo.annotations.DataSourceLevel].getValue()"
    - "[com.netflix.servo.annotations.DataSourceType].getValue()"
    - "[com.netflix.servo.tag.Tag].getKey()"
    - "[com.netflix.servo.tag.Tag].getValue()"
    functionUses: 39
    ICount: 20
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.BasicTag:64"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.BasicTag:66"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.BasicTag:65"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.tag.BasicTag:66"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.BasicTag:70"
        BranchSideFuncs:
        - "getValue()"
        - "equals(java.lang.Object)"
        - "getKey()"
      - BranchSide: "com.netflix.servo.tag.BasicTag:69"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.tag.BasicTag:68"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.BasicTag:66"
        BranchSideFuncs:
        - "getValue()"
        - "equals(java.lang.Object)"
        - "getKey()"
    - Branch String: "com.netflix.servo.tag.BasicTag:68"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.BasicTag:66"
        BranchSideFuncs:
        - "getValue()"
        - "equals(java.lang.Object)"
        - "getKey()"
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTag:68,1"
      Dst: "[com.netflix.servo.tag.Tag].getKey()"
    - Src: "com.netflix.servo.tag.BasicTag:68,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.netflix.servo.tag.BasicTag:68,1"
      Dst: "[com.netflix.servo.tag.Tag].getValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.tag.BasicTag].hashCode()"
    functionSourceFile: "com.netflix.servo.tag.BasicTag"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].hashCode()"
    functionUses: 39
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTag:79,1"
      Dst: "[java.lang.String].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTag].toString()"
    functionSourceFile: "com.netflix.servo.tag.BasicTag"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 39
    ICount: 10
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTag:89,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.tag.BasicTag:89,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.tag.BasicTag:89,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTag].parseTag(java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.BasicTag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "com.netflix.servo.tag.BasicTag"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.Tags].parseTag(java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTag:102,1"
      Dst: "[com.netflix.servo.tag.Tags].parseTag(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.Tags].parseTag(java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.Tags"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.netflix.servo.tag.Tag"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].indexOf(java.lang.String)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.String].trim()"
    - "[java.lang.String].length()"
    - "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.Tags:80"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.Tags:84"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.Tags:83"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.tag.Tags:78,1"
      Dst: "[java.lang.String].indexOf(java.lang.String)"
    - Src: "com.netflix.servo.tag.Tags:81,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.netflix.servo.tag.Tags:84,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "com.netflix.servo.tag.Tags:84,1"
      Dst: "[java.lang.String].trim()"
    - Src: "com.netflix.servo.tag.Tags:85,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.netflix.servo.tag.Tags:86,1"
      Dst: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.Tags"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionDepth: 3
    returnType: "com.netflix.servo.tag.Tag"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.BasicTag].<init>(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.tag.Tags].intern(java.lang.String)"
    - "[com.netflix.servo.tag.Tags].intern(com.netflix.servo.tag.Tag)"
    functionUses: 29
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.Tags:63,1"
      Dst: "[com.netflix.servo.tag.Tags].intern(java.lang.String)"
    - Src: "com.netflix.servo.tag.Tags:63,1"
      Dst: "[com.netflix.servo.tag.BasicTag].<init>(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.tag.Tags:64,1"
      Dst: "[com.netflix.servo.tag.Tags].intern(com.netflix.servo.tag.Tag)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.Tags].intern(java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.Tags"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Interners$WeakInterner].intern(java.lang.Object)"
    - "[com.google.common.collect.Interners$1].intern(java.lang.Object)"
    - "[com.google.common.collect.Interner].intern(java.lang.Object)"
    functionUses: 2
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.Tags:39,1"
      Dst: "[com.google.common.collect.Interner].intern(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.Tags].intern(com.netflix.servo.tag.Tag)"
    functionSourceFile: "com.netflix.servo.tag.Tags"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionDepth: 0
    returnType: "com.netflix.servo.tag.Tag"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.Tag"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Interners$WeakInterner].intern(java.lang.Object)"
    - "[com.google.common.collect.Interners$1].intern(java.lang.Object)"
    - "[com.google.common.collect.Interner].intern(java.lang.Object)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.Tags:46,1"
      Dst: "[com.google.common.collect.Interner].intern(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTag].tagString()"
    functionSourceFile: "com.netflix.servo.tag.BasicTag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.BasicTag].toString()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTag:110,1"
      Dst: "[com.netflix.servo.tag.BasicTag].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_1__18].bootstrap$()"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_1__18"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.ToDoubleFunction"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_1__18].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_1__18:-1,1"
      Dst: "[com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_1__18].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_1__18].<init>()"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_1__18"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_1__18:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_1__18].applyAsDouble(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_1__18"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "double"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].lambda$new$1(com.netflix.servo.monitor.AnnotatedNumberMonitor)"
    functionUses: 4
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_1__18:-1,1"
      Dst: "[com.netflix.servo.monitor.AnnotatedNumberMonitor].lambda$new$1(com.netflix.servo.monitor.AnnotatedNumberMonitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.AnnotatedNumberMonitor].lambda$new$1(com.netflix.servo.monitor.AnnotatedNumberMonitor)"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedNumberMonitor"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 3
    returnType: "double"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.AnnotatedNumberMonitor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.util.concurrent.AtomicDouble].doubleValue()"
    - "[com.google.common.primitives.UnsignedInteger].doubleValue()"
    - "[com.google.common.cache.LongAdder].doubleValue()"
    - "[com.netflix.spectator.impl.AtomicDouble].doubleValue()"
    - "[com.google.common.primitives.UnsignedLong:java.lang.Byte:java.lang.Double:java.lang.Float:java.lang.Integer:java.lang.Long:java.lang.Short:java.math.BigDecimal:java.math.BigInteger:java.util.concurrent.atomic.AtomicInteger:java.util.concurrent.atomic.AtomicLong:java.util.concurrent.atomic.LongAdder].doubleValue()"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].getValue(int)"
    - "[java.lang.Number].doubleValue()"
    functionUses: 1
    ICount: 4
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:44,1"
      Dst: "[com.netflix.servo.monitor.AnnotatedNumberMonitor].getValue(int)"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:44,1"
      Dst: "[java.lang.Number].doubleValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.AnnotatedNumberMonitor].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedNumberMonitor"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionDepth: 2
    returnType: "java.lang.Number"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.reflect.Element].setAccessible(boolean)"
    - "[java.lang.reflect.Field].setAccessible(boolean)"
    - "[java.lang.reflect.AccessibleObject:java.lang.reflect.Constructor:java.lang.reflect.Field:java.lang.reflect.Method].get(java.lang.Object)"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    - "[java.lang.reflect.AccessibleObject].setAccessible(boolean)"
    - "[java.lang.reflect.Field].get(java.lang.Object)"
    functionUses: 3
    ICount: 23
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.AnnotatedNumberMonitor:55"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.AnnotatedNumberMonitor:58"
        BranchSideFuncs:
        - "get(java.lang.Object)"
      - BranchSide: "com.netflix.servo.monitor.AnnotatedNumberMonitor:57"
        BranchSideFuncs:
        - "invoke(java.lang.Object,java.lang.Object[])"
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:54,1"
      Dst: "[java.lang.reflect.AccessibleObject].setAccessible(boolean)"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:56,1"
      Dst: "[java.lang.reflect.Field].get(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:58,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:61,1"
      Dst: "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    functionSourceFile: "com.netflix.servo.util.Throwables"
    linkageType: ""
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionDepth: 1
    returnType: "java.lang.RuntimeException"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[java.lang.RuntimeException].<init>(java.lang.Throwable)"
    functionUses: 9
    ICount: 14
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.Throwables:33"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Throwables:36"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.Throwables:35"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.Throwables:36"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Throwables:40"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.Throwables:39"
        BranchSideFuncs:
        - "<init>(java.lang.Throwable)"
    Callsites:
    - Src: "com.netflix.servo.util.Throwables:32,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.util.Throwables:40,1"
      Dst: "[java.lang.RuntimeException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$10].<init>(java.lang.Iterable,int)"
    functionSourceFile: "com.google.common.collect.Iterables$10"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.FluentIterable].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$10:856,1"
      Dst: "[com.google.common.collect.FluentIterable].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$10].iterator()"
    functionSourceFile: "com.google.common.collect.Iterables$10"
    linkageType: ""
    functionLinenumber: 858
    functionLinenumberEnd: 869
    functionDepth: 1
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[com.google.common.collect.Iterators].advance(java.util.Iterator,int)"
    - "[com.google.common.collect.Iterables$10$1].<init>(com.google.common.collect.Iterables$10,java.util.Iterator)"
    - "[java.lang.Iterable].iterator()"
    functionUses: 56
    ICount: 8
    EdgeCount: 180
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$10:859,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables$10:861,1"
      Dst: "[com.google.common.collect.Iterators].advance(java.util.Iterator,int)"
    - Src: "com.google.common.collect.Iterables$10:868,1"
      Dst: "[com.google.common.collect.Iterables$10$1].<init>(com.google.common.collect.Iterables$10,java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$10$1].<init>(com.google.common.collect.Iterables$10,java.util.Iterator)"
    functionSourceFile: "com.google.common.collect.Iterables$10$1"
    linkageType: ""
    functionLinenumber: 867
    functionLinenumberEnd: 870
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.google.common.collect.Iterables$10"
    - "java.util.Iterator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$10$1:868,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].getInstance()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.util.ThreadCpuStats"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].<init>()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].<init>(long,java.lang.String,com.netflix.servo.util.ThreadCpuStats$1)"
    - "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 10
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats:120,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:106,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].<init>(long,java.lang.String,com.netflix.servo.util.ThreadCpuStats$1)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:108,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].isRunning()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].start()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable].<init>(com.netflix.servo.util.ThreadCpuStats,com.netflix.servo.util.ThreadCpuStats$1)"
    - "[java.lang.Thread].<init>(java.lang.Runnable,java.lang.String)"
    - "[java.lang.Thread].setDaemon(boolean)"
    - "[java.lang.Thread].start()"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.ThreadCpuStats:134"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:140"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:139"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats:136,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable].<init>(com.netflix.servo.util.ThreadCpuStats,com.netflix.servo.util.ThreadCpuStats$1)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:136,1"
      Dst: "[java.lang.Thread].<init>(java.lang.Runnable,java.lang.String)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:137,1"
      Dst: "[java.lang.Thread].setDaemon(boolean)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:138,1"
      Dst: "[java.lang.Thread].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable].<init>(com.netflix.servo.util.ThreadCpuStats,com.netflix.servo.util.ThreadCpuStats$1)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.util.ThreadCpuStats"
    - "com.netflix.servo.util.ThreadCpuStats$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable].<init>(com.netflix.servo.util.ThreadCpuStats)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:412,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable].<init>(com.netflix.servo.util.ThreadCpuStats)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable].<init>(com.netflix.servo.util.ThreadCpuStats)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.util.ThreadCpuStats"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:412,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].stop()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].getOverallCpuUsage()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].getThreadCpuUsages()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].values()"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats:160,1"
      Dst: "[java.util.Map].values()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:160,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].toPercent(long,long)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double"
    argCount: 2
    argTypes:
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.ThreadCpuStats:167"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:166"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].append(java.lang.StringBuilder,char,long,long)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 4
    argTypes:
    - "java.lang.StringBuilder"
    - "char"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(long)"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.ThreadCpuStats:171"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:176"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:175"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats:173,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:173,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].toDuration(long)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[com.netflix.servo.util.ThreadCpuStats].append(java.lang.StringBuilder,char,long,long)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats:193,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:194,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:195,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats].append(java.lang.StringBuilder,char,long,long)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:201,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].printThreadCpuUsages()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadCpuStats].printThreadCpuUsages(java.io.OutputStream,com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats:209,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats].printThreadCpuUsages(java.io.OutputStream,com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].printThreadCpuUsages(java.io.OutputStream,com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.OutputStream"
    - "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadCpuStats].getPrintWriter(java.io.OutputStream)"
    - "[com.netflix.servo.util.ThreadCpuStats].getThreadCpuUsages(com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.Long].longValue()"
    - "[java.util.Date].<init>(long)"
    - "[java.io.PrintWriter].printf(java.lang.String,java.lang.Object[])"
    - "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.util.ThreadCpuStats].toDuration(long)"
    - "[java.io.PrintWriter].println(java.lang.String)"
    - "[java.io.PrintWriter].println()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.io.PrintWriter].flush()"
    functionUses: 0
    ICount: 117
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.ThreadCpuStats:327"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:336"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:335"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats:283,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats].getPrintWriter(java.io.OutputStream)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:284,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats].getThreadCpuUsages(com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:286,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:286,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:286,1"
      Dst: "[java.util.Date].<init>(long)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:286,1"
      Dst: "[java.io.PrintWriter].printf(java.lang.String,java.lang.Object[])"
    - Src: "com.netflix.servo.util.ThreadCpuStats:288,1"
      Dst: "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:289,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats].toDuration(long)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:294,1"
      Dst: "[java.io.PrintWriter].println(java.lang.String)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:304,1"
      Dst: "[java.io.PrintWriter].println()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:327,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:327,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:327,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:337,1"
      Dst: "[java.io.PrintWriter].flush()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].getPrintWriter(java.io.OutputStream)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.io.PrintWriter"
    argCount: 1
    argTypes:
    - "java.io.OutputStream"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.OutputStreamWriter].<init>(java.io.OutputStream,java.lang.String)"
    - "[java.io.PrintWriter].<init>(java.io.Writer,boolean)"
    - "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats:214,1"
      Dst: "[java.io.OutputStreamWriter].<init>(java.io.OutputStream,java.lang.String)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:214,1"
      Dst: "[java.io.PrintWriter].<init>(java.io.Writer,boolean)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:217,1"
      Dst: "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].getThreadCpuUsages(com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.util.Map"
    argCount: 1
    argTypes:
    - "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadCpuStats].getOverallCpuUsage()"
    - "[com.netflix.servo.util.ThreadCpuStats].getThreadCpuUsages()"
    - "[java.util.HashMap].<init>()"
    - "[java.util.Collections].sort(java.util.List,java.util.Comparator)"
    - "[java.util.Date].<init>()"
    - "[java.util.Date].getTime()"
    - "[java.lang.Long].valueOf(long)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.management.ManagementFactory].getRuntimeMXBean()"
    - "[java.lang.management.RuntimeMXBean].getUptime()"
    - "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getOneMinute()"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getFiveMinute()"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getFifteenMinute()"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getOverall()"
    - "[java.lang.Runtime].getRuntime()"
    - "[java.lang.Runtime].availableProcessors()"
    - "[com.netflix.servo.util.ThreadCpuStats].toPercent(long,long)"
    - "[java.lang.Double].valueOf(double)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getThreadId()"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getName()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 0
    ICount: 104
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.ThreadCpuStats:260"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:271"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:270"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats:228,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats].getOverallCpuUsage()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:229,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats].getThreadCpuUsages()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:230,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:232,1"
      Dst: "[java.util.Collections].sort(java.util.List,java.util.Comparator)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:234,1"
      Dst: "[java.util.Date].<init>()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:235,1"
      Dst: "[java.util.Date].getTime()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:235,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:235,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:237,1"
      Dst: "[java.lang.management.ManagementFactory].getRuntimeMXBean()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:237,1"
      Dst: "[java.lang.management.RuntimeMXBean].getUptime()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:238,1"
      Dst: "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:242,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getOneMinute()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:243,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getFiveMinute()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:244,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getFifteenMinute()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:245,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getOverall()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:249,1"
      Dst: "[java.lang.Runtime].getRuntime()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:249,1"
      Dst: "[java.lang.Runtime].availableProcessors()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:250,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats].toPercent(long,long)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:250,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:259,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:260,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:260,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:260,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:267,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getThreadId()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:268,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getName()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:269,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getOneMinute()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    linkageType: ""
    functionLinenumber: 490
    functionLinenumberEnd: 492
    functionDepth: 2
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].get(int)"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:491,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].get(int)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    linkageType: ""
    functionLinenumber: 512
    functionLinenumberEnd: 519
    functionDepth: 1
    returnType: "long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].get()"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].toIndex(int)"
    - "[java.util.concurrent.atomic.AtomicLongArray].get(int)"
    functionUses: 3
    ICount: 20
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:518"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:512"
        BranchSideFuncs:
        - "get(int)"
        - "get()"
        - "toIndex(int)"
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:513,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].get()"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:513,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].toIndex(int)"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:515,1"
      Dst: "[java.util.concurrent.atomic.AtomicLongArray].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].toIndex(int)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    linkageType: ""
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:509"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:508"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getFiveMinute()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    linkageType: ""
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionDepth: 2
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].get(int)"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:498,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getFifteenMinute()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    linkageType: ""
    functionLinenumber: 504
    functionLinenumberEnd: 506
    functionDepth: 2
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].get(int)"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:505,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getOverall()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    linkageType: ""
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionDepth: 1
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].get()"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].toIndex(int)"
    - "[java.util.concurrent.atomic.AtomicLongArray].get(int)"
    functionUses: 2
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:483,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].get()"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:483,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].toIndex(int)"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:484,1"
      Dst: "[java.util.concurrent.atomic.AtomicLongArray].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getThreadId()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getName()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].updateStats()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: 349
    functionLinenumberEnd: 408
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.management.ManagementFactory].getThreadMXBean()"
    - "[java.util.Arrays].sort(long[])"
    - "[com.google.common.collect.HashBiMap$Inverse].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$ColumnMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$NavigableAsMapView].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row].get(java.lang.Object)"
    - "[java.util.jar.Attributes].get(java.lang.Object)"
    - "[com.google.common.cache.LocalCache].get(java.lang.Object)"
    - "[javax.swing.MultiUIDefaults].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$ComplementRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.HashBiMap].get(java.lang.Object)"
    - "[java.util.TreeMap].get(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets].get(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableBiMap].get(java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$ArrayMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$RowMap].get(java.lang.Object)"
    - "[java.util.AbstractMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$RangesByUpperBound].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullComputingConcurrentMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].get(java.lang.Object)"
    - "[java.util.EnumMap].get(java.lang.Object)"
    - "[java.util.WeakHashMap].get(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableBiMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Column].get(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedMultimap$1].get(java.lang.Object)"
    - "[java.util.Hashtable].get(java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullConcurrentMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AsMapView].get(java.lang.Object)"
    - "[java.security.Provider].get(java.lang.Object)"
    - "[java.awt.RenderingHints].get(java.lang.Object)"
    - "[com.google.common.collect.Multimaps$AsMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedMap].get(java.lang.Object)"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableSortedMap].get(java.lang.Object)"
    - "[com.google.common.collect.ImmutableEnumMap].get(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AbstractFilteredMap].get(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableBiMap].get(java.lang.Object)"
    - "[java.util.Properties].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$TransformedEntriesMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse].get(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMap].get(java.lang.Object)"
    - "[java.util.IdentityHashMap].get(java.lang.Object)"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap].get(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$ComputingMapAdapter].get(java.lang.Object)"
    - "[javax.swing.UIDefaults].get(java.lang.Object)"
    - "[java.lang.Long].valueOf(long)"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].<init>(long,java.lang.String,com.netflix.servo.util.ThreadCpuStats$1)"
    - "[java.lang.management.ThreadInfo].getThreadName()"
    - "[com.google.common.collect.ArrayTable$ArrayMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.HashBiMap$Inverse].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap].put(java.lang.Object,java.lang.Object)"
    - "[java.security.Provider].put(java.lang.Object,java.lang.Object)"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.EnumHashBiMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.reflect.MutableTypeToInstanceMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.WeakHashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.cache.LocalCache].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$RowMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Maps$AbstractFilteredMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.EnumMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.AbstractMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Column].put(java.lang.Object,java.lang.Object)"
    - "[java.util.TreeMap].put(java.lang.Object,java.lang.Object)"
    - "[javax.swing.UIDefaults].put(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.AbstractBiMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Properties].put(java.lang.Object,java.lang.Object)"
    - "[java.util.IdentityHashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.HashBiMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullConcurrentMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$ColumnMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.TreeBasedTable$TreeRow].put(java.lang.Object,java.lang.Object)"
    - "[java.awt.RenderingHints].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Hashtable].put(java.lang.Object,java.lang.Object)"
    - "[java.util.jar.Attributes].put(java.lang.Object,java.lang.Object)"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].access$200(com.netflix.servo.util.ThreadCpuStats$CpuUsage,long)"
    - "[java.lang.management.ManagementFactory].getOperatingSystemMXBean()"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[java.lang.Long].longValue()"
    - "[java.lang.System].currentTimeMillis()"
    - "[com.google.common.collect.EnumHashBiMap].entrySet()"
    - "[com.google.common.collect.ForwardingMap].entrySet()"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].entrySet()"
    - "[com.google.common.collect.ImmutableMap].entrySet()"
    - "[com.google.common.collect.MapMakerInternalMap].entrySet()"
    - "[com.google.common.collect.Maps$ImprovedAbstractMap].entrySet()"
    - "[java.util.WeakHashMap].entrySet()"
    - "[com.google.common.collect.EmptyImmutableBiMap].entrySet()"
    - "[javax.print.MimeType$ParameterMap].entrySet()"
    - "[com.google.common.collect.Maps$DescendingMap].entrySet()"
    - "[com.google.common.cache.LocalCache].entrySet()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap].entrySet()"
    - "[com.google.common.collect.MutableClassToInstanceMap].entrySet()"
    - "[java.util.stream.Collectors$Partition].entrySet()"
    - "[com.google.common.collect.MapConstraints$ConstrainedMap].entrySet()"
    - "[com.google.common.collect.MapConstraints$ConstrainedMultimap$1].entrySet()"
    - "[java.util.jar.Attributes].entrySet()"
    - "[java.util.Hashtable].entrySet()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap].entrySet()"
    - "[com.google.common.collect.WellBehavedMap].entrySet()"
    - "[javax.swing.MultiUIDefaults].entrySet()"
    - "[java.util.EnumMap].entrySet()"
    - "[java.util.TreeMap].entrySet()"
    - "[com.google.common.collect.HashBiMap].entrySet()"
    - "[com.google.common.collect.EnumBiMap].entrySet()"
    - "[java.util.HashMap].entrySet()"
    - "[com.google.common.collect.MapMaker$NullConcurrentMap].entrySet()"
    - "[java.util.LinkedHashMap].entrySet()"
    - "[com.google.common.collect.EmptyImmutableSortedMap].entrySet()"
    - "[java.awt.RenderingHints].entrySet()"
    - "[com.google.common.collect.ImmutableSortedMap].entrySet()"
    - "[com.google.common.collect.AbstractBiMap].entrySet()"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].entrySet()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMap].entrySet()"
    - "[java.util.concurrent.ConcurrentHashMap].entrySet()"
    - "[com.google.common.collect.HashBiMap$Inverse].entrySet()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets].entrySet()"
    - "[java.util.Properties].entrySet()"
    - "[java.security.Provider].entrySet()"
    - "[com.google.common.collect.AbstractNavigableMap].entrySet()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges].entrySet()"
    - "[java.util.IdentityHashMap].entrySet()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[com.google.common.collect.Maps$10].getKey()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet$1$1].getKey()"
    - "[java.util.WeakHashMap$Entry].getKey()"
    - "[com.google.common.collect.ForwardingMapEntry].getKey()"
    - "[com.google.common.collect.LinkedListMultimap$Node].getKey()"
    - "[java.util.Hashtable$Entry].getKey()"
    - "[com.google.common.collect.TreeRangeMap$RangeMapEntry].getKey()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].getKey()"
    - "[com.google.common.collect.MapMakerInternalMap$WriteThroughEntry].getKey()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1$1$1].getKey()"
    - "[com.google.common.collect.StandardTable$Column$EntrySetIterator$1].getKey()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].getKey()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].getKey()"
    - "[com.google.common.cache.RemovalNotification].getKey()"
    - "[java.util.TreeMap$Entry].getKey()"
    - "[com.google.common.collect.ImmutableEntry].getKey()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1$1].getKey()"
    - "[com.google.common.collect.HashBiMap$EntrySet$1$MapEntry].getKey()"
    - "[com.google.common.collect.Maps$6].getKey()"
    - "[com.google.common.collect.HashBiMap$Inverse$1$1$InverseEntry].getKey()"
    - "[java.util.HashMap$Node].getKey()"
    - "[java.util.TreeMap$Entry].getValue()"
    - "[com.google.common.collect.StandardTable$Column$EntrySetIterator$1].getValue()"
    - "[com.google.common.collect.HashBiMap$EntrySet$1$MapEntry].getValue()"
    - "[com.google.common.collect.MapMakerInternalMap$WriteThroughEntry].getValue()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1$1$1].getValue()"
    - "[com.google.common.collect.ForwardingMapEntry].getValue()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].getValue()"
    - "[com.google.common.collect.ImmutableEntry].getValue()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1$1].getValue()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].getValue()"
    - "[com.google.common.collect.HashBiMap$Inverse$1$1$InverseEntry].getValue()"
    - "[com.google.common.collect.Maps$6].getValue()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet$1$1].getValue()"
    - "[com.google.common.collect.TreeRangeMap$RangeMapEntry].getValue()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].getValue()"
    - "[java.util.Hashtable$Entry].getValue()"
    - "[java.util.HashMap$Node].getValue()"
    - "[com.google.common.collect.Maps$10].getValue()"
    - "[com.google.common.collect.MapConstraints$2].getValue()"
    - "[com.google.common.collect.LinkedListMultimap$Node].getValue()"
    - "[com.google.common.cache.RemovalNotification].getValue()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1$1].getValue()"
    - "[java.util.WeakHashMap$Entry].getValue()"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getLastUpdateTime()"
    - "[com.google.common.collect.StandardTable$CellIterator].remove()"
    - "[org.testng.internal.ArrayIterator].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].remove()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].remove()"
    - "[com.google.common.collect.Iterators$PeekingImpl].remove()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].remove()"
    - "[com.google.common.collect.Iterables$10$1].remove()"
    - "[com.google.common.collect.TreeMultiset$2].remove()"
    - "[org.yaml.snakeyaml.Loader$3].remove()"
    - "[com.google.common.collect.HashBiMap$Itr].remove()"
    - "[com.google.common.collect.Iterators$9].remove()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].remove()"
    - "[com.google.common.collect.Lists$ReverseList$1].remove()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].remove()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].remove()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].remove()"
    - "[com.netflix.spectator.api.FilteredIterator].remove()"
    - "[com.google.common.base.Converter$1$1].remove()"
    - "[java.util.Iterator].remove()"
    - "[com.google.common.collect.ForwardingIterator].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].remove()"
    - "[com.google.common.base.AbstractIterator].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].remove()"
    - "[com.google.common.collect.TransformedIterator].remove()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].remove()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].remove()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].remove()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].remove()"
    - "[org.yaml.snakeyaml.Loader$2].remove()"
    - "[com.google.common.cache.LocalCache$HashIterator].remove()"
    - "[com.google.common.collect.LinkedHashMultimap$1].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].remove()"
    - "[com.google.common.collect.Iterators$5].remove()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].remove()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].remove()"
    - "[org.yaml.snakeyaml.Loader$1].remove()"
    - "[com.google.common.collect.Iterators$2].remove()"
    - "[com.google.common.collect.TreeMultiset$3].remove()"
    - "[com.google.common.collect.UnmodifiableIterator].remove()"
    - "[com.google.common.collect.Iterators$4].remove()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].remove()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].remove()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].remove()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].remove()"
    - "[java.util.Arrays].binarySearch(long[],long)"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].access$300(com.netflix.servo.util.ThreadCpuStats$CpuUsage)"
    - "[org.slf4j.event.EventRecodingLogger].debug(java.lang.String)"
    - "[org.slf4j.helpers.SubstituteLogger].debug(java.lang.String)"
    - "[org.slf4j.helpers.NOPLogger].debug(java.lang.String)"
    - "[java.lang.management.ThreadMXBean].isThreadCpuTimeEnabled()"
    - "[java.lang.management.ThreadMXBean].getAllThreadIds()"
    - "[java.lang.management.ThreadMXBean].getThreadCpuTime(long)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.management.ThreadMXBean].getThreadInfo(long)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map$Entry].getValue()"
    - "[org.slf4j.Logger].debug(java.lang.String)"
    functionUses: 1
    ICount: 79
    EdgeCount: 472
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.ThreadCpuStats:351"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:404"
        BranchSideFuncs:
        - "debug(java.lang.String)"
    - Branch String: "com.netflix.servo.util.ThreadCpuStats:356"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:380"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:379"
        BranchSideFuncs:
        - "getOperatingSystemMXBean()"
        - "invoke(java.lang.Object,java.lang.Object[])"
        - "getMethod(java.lang.String,java.lang.Class[])"
    - Branch String: "com.netflix.servo.util.ThreadCpuStats:358"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:353"
        BranchSideFuncs:
        - "get(java.lang.Object)"
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:352"
        BranchSideFuncs:
        - "sort(long[])"
    - Branch String: "com.netflix.servo.util.ThreadCpuStats:361"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:366"
        BranchSideFuncs:
        - "valueOf(long)"
        - "put(java.lang.Object,java.lang.Object)"
        - "<init>(long,java.lang.String,com.netflix.servo.util.ThreadCpuStats$1)"
        - "getThreadName()"
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:365"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.ThreadCpuStats:384"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:380"
        BranchSideFuncs:
        - "access$200(com.netflix.servo.util.ThreadCpuStats$CpuUsage,long)"
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:379"
        BranchSideFuncs:
        - "getOperatingSystemMXBean()"
        - "invoke(java.lang.Object,java.lang.Object[])"
        - "getMethod(java.lang.String,java.lang.Class[])"
    - Branch String: "com.netflix.servo.util.ThreadCpuStats:394"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:404"
        BranchSideFuncs:
        - "getValue()"
        - "next()"
        - "longValue()"
        - "getKey()"
        - "getLastUpdateTime()"
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:403"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.ThreadCpuStats:398"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:400"
        BranchSideFuncs:
        - "remove()"
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:399"
        BranchSideFuncs:
        - "binarySearch(long[],long)"
    - Branch String: "com.netflix.servo.util.ThreadCpuStats:400"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:403"
        BranchSideFuncs:
        - "access$300(com.netflix.servo.util.ThreadCpuStats$CpuUsage)"
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats:402"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats:350,1"
      Dst: "[java.lang.management.ManagementFactory].getThreadMXBean()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:351,1"
      Dst: "[java.lang.management.ThreadMXBean].isThreadCpuTimeEnabled()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:353,1"
      Dst: "[java.lang.management.ThreadMXBean].getAllThreadIds()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:354,1"
      Dst: "[java.util.Arrays].sort(long[])"
    - Src: "com.netflix.servo.util.ThreadCpuStats:357,1"
      Dst: "[java.lang.management.ThreadMXBean].getThreadCpuTime(long)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:360,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:360,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:362,1"
      Dst: "[java.lang.management.ThreadMXBean].getThreadInfo(long)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:363,1"
      Dst: "[java.lang.management.ThreadInfo].getThreadName()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:363,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].<init>(long,java.lang.String,com.netflix.servo.util.ThreadCpuStats$1)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:364,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:366,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].access$200(com.netflix.servo.util.ThreadCpuStats$CpuUsage,long)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:380,1"
      Dst: "[java.lang.management.ManagementFactory].getOperatingSystemMXBean()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:382,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:382,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "com.netflix.servo.util.ThreadCpuStats:383,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "com.netflix.servo.util.ThreadCpuStats:383,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:392,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:393,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:393,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:394,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:395,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:396,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:397,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:398,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getLastUpdateTime()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:399,1"
      Dst: "[java.util.Iterator].remove()"
    - Src: "com.netflix.servo.util.ThreadCpuStats:400,1"
      Dst: "[java.util.Arrays].binarySearch(long[],long)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:401,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].access$300(com.netflix.servo.util.ThreadCpuStats$CpuUsage)"
    - Src: "com.netflix.servo.util.ThreadCpuStats:405,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 23
    CyclomaticComplexity: 9
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].<init>(long,java.lang.String,com.netflix.servo.util.ThreadCpuStats$1)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    linkageType: ""
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "long"
    - "java.lang.String"
    - "com.netflix.servo.util.ThreadCpuStats$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].<init>(long,java.lang.String)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:436,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].<init>(long,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].<init>(long,java.lang.String)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    linkageType: ""
    functionLinenumber: 451
    functionLinenumberEnd: 456
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    - "[java.util.concurrent.atomic.AtomicInteger].<init>(int)"
    - "[java.util.concurrent.atomic.AtomicLongArray].<init>(int)"
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 16
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:452,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:443,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:445,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].<init>(int)"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:450,1"
      Dst: "[java.util.concurrent.atomic.AtomicLongArray].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].access$200(com.netflix.servo.util.ThreadCpuStats$CpuUsage,long)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    linkageType: ""
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].update(long)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:436,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].update(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].update(long)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    linkageType: ""
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].getAndIncrement()"
    - "[java.util.concurrent.atomic.AtomicLongArray].set(int,long)"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].toIndex(int)"
    - "[java.lang.System].currentTimeMillis()"
    - "[java.util.concurrent.atomic.AtomicLong].set(long)"
    functionUses: 1
    ICount: 11
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:522,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].getAndIncrement()"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:522,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].toIndex(int)"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:522,1"
      Dst: "[java.util.concurrent.atomic.AtomicLongArray].set(int,long)"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:523,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:523,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].set(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getLastUpdateTime()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    linkageType: ""
    functionLinenumber: 475
    functionLinenumberEnd: 477
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:476,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].access$300(com.netflix.servo.util.ThreadCpuStats$CpuUsage)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    linkageType: ""
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].updateNoValue()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:436,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].updateNoValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].updateNoValue()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    linkageType: ""
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].get()"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].toIndex(int)"
    - "[java.util.concurrent.atomic.AtomicLongArray].get(int)"
    - "[java.util.concurrent.atomic.AtomicInteger].getAndIncrement()"
    - "[java.util.concurrent.atomic.AtomicLongArray].set(int,long)"
    functionUses: 1
    ICount: 13
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:531,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].get()"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:531,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].toIndex(int)"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:532,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].getAndIncrement()"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:532,1"
      Dst: "[java.util.concurrent.atomic.AtomicLongArray].get(int)"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsage:532,1"
      Dst: "[java.util.concurrent.atomic.AtomicLongArray].set(int,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].access$400(com.netflix.servo.util.ThreadCpuStats)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.util.ThreadCpuStats"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].access$500(com.netflix.servo.util.ThreadCpuStats)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.util.ThreadCpuStats"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadCpuStats].updateStats()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats:49,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats].updateStats()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats].access$600()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.TimedStopwatch].<init>(com.netflix.servo.monitor.Timer)"
    functionSourceFile: "com.netflix.servo.monitor.TimedStopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Timer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BasicStopwatch].<init>()"
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.TimedStopwatch:31,1"
      Dst: "[com.netflix.servo.monitor.BasicStopwatch].<init>()"
    - Src: "com.netflix.servo.monitor.TimedStopwatch:32,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.TimedStopwatch].stop()"
    functionSourceFile: "com.netflix.servo.monitor.TimedStopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BasicStopwatch].stop()"
    - "[com.netflix.servo.monitor.BasicStopwatch].getDuration()"
    - "[com.netflix.servo.monitor.Timer].record(long,java.util.concurrent.TimeUnit)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.TimedStopwatch:41,1"
      Dst: "[com.netflix.servo.monitor.BasicStopwatch].stop()"
    - Src: "com.netflix.servo.monitor.TimedStopwatch:42,1"
      Dst: "[com.netflix.servo.monitor.BasicStopwatch].getDuration()"
    - Src: "com.netflix.servo.monitor.TimedStopwatch:42,1"
      Dst: "[com.netflix.servo.monitor.Timer].record(long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicStopwatch].stop()"
    functionSourceFile: "com.netflix.servo.monitor.BasicStopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].nanoTime()"
    - "[java.util.concurrent.atomic.AtomicLong].set(long)"
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicStopwatch:44,1"
      Dst: "[java.lang.System].nanoTime()"
    - Src: "com.netflix.servo.monitor.BasicStopwatch:44,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].set(long)"
    - Src: "com.netflix.servo.monitor.BasicStopwatch:45,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicStopwatch].getDuration()"
    functionSourceFile: "com.netflix.servo.monitor.BasicStopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].get()"
    - "[java.lang.System].nanoTime()"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BasicStopwatch:73"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicStopwatch:73"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicStopwatch:72"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicStopwatch:73,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].get()"
    - Src: "com.netflix.servo.monitor.BasicStopwatch:73,1"
      Dst: "[java.lang.System].nanoTime()"
    - Src: "com.netflix.servo.monitor.BasicStopwatch:73,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables$12].<init>(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables$12"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.FluentIterable].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$12:938,1"
      Dst: "[com.google.common.collect.FluentIterable].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$12].iterator()"
    functionSourceFile: "com.google.common.collect.Iterables$12"
    linkageType: ""
    functionLinenumber: 940
    functionLinenumberEnd: 942
    functionDepth: 2
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterables$ConsumingQueueIterator].<init>(java.util.Queue,com.google.common.collect.Iterables$1)"
    functionUses: 56
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$12:941,1"
      Dst: "[com.google.common.collect.Iterables$ConsumingQueueIterator].<init>(java.util.Queue,com.google.common.collect.Iterables$1)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SortedTagList$Builder].<init>()"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList$Builder"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.HashMap].<init>()"
    functionUses: 2
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:48,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:49,1"
      Dst: "[java.util.HashMap].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SortedTagList$Builder].withTags(java.util.Collection)"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "com.netflix.servo.tag.SortedTagList$Builder"
    argCount: 1
    argTypes:
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collection].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.tag.Tags].internCustom(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.tag.Tag].getKey()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SortedTagList$Builder:56"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SortedTagList$Builder:60"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.SortedTagList$Builder:59"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:56,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:56,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:56,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:57,1"
      Dst: "[com.netflix.servo.tag.Tags].internCustom(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:58,1"
      Dst: "[com.netflix.servo.tag.Tag].getKey()"
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:58,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.Tags].internCustom(com.netflix.servo.tag.Tag)"
    functionSourceFile: "com.netflix.servo.tag.Tags"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionDepth: 4
    returnType: "com.netflix.servo.tag.Tag"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.Tag"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.annotations.DataSourceType].getKey()"
    - "[com.netflix.servo.annotations.DataSourceLevel:com.netflix.servo.tag.BasicTag:com.netflix.servo.tag.InjectableTag].getKey()"
    - "[com.netflix.servo.annotations.DataSourceLevel].getValue()"
    - "[com.netflix.servo.annotations.DataSourceType].getValue()"
    - "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.tag.Tag].getKey()"
    - "[com.netflix.servo.tag.Tag].getValue()"
    functionUses: 2
    ICount: 9
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.Tags:56"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.Tags:55"
        BranchSideFuncs:
        - "getValue()"
        - "getKey()"
        - "newTag(java.lang.String,java.lang.String)"
    Callsites:
    - Src: "com.netflix.servo.tag.Tags:56,1"
      Dst: "[com.netflix.servo.tag.Tag].getKey()"
    - Src: "com.netflix.servo.tag.Tags:56,1"
      Dst: "[com.netflix.servo.tag.Tag].getValue()"
    - Src: "com.netflix.servo.tag.Tags:56,1"
      Dst: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.SortedTagList$Builder].withTags(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList$Builder"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionDepth: 5
    returnType: "com.netflix.servo.tag.SortedTagList$Builder"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[com.netflix.servo.tag.Tags].internCustom(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.annotations.DataSourceType].getKey()"
    - "[com.netflix.servo.annotations.DataSourceLevel:com.netflix.servo.tag.BasicTag:com.netflix.servo.tag.InjectableTag:java.awt.RenderingHints:java.security.Provider:java.util.AbstractMap:java.util.EnumMap:java.util.HashMap:java.util.Hashtable:java.util.IdentityHashMap:java.util.Properties:java.util.TreeMap:java.util.WeakHashMap:java.util.concurrent.ConcurrentHashMap:java.util.jar.Attributes:javax.swing.UIDefaults].getKey()"
    - "[com.google.common.collect.ArrayTable$ArrayMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.HashBiMap$Inverse].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.EnumHashBiMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.reflect.MutableTypeToInstanceMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.cache.LocalCache].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$RowMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Maps$AbstractFilteredMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Column].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.AbstractBiMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.HashBiMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullConcurrentMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$ColumnMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.TreeBasedTable$TreeRow].put(java.lang.Object,java.lang.Object)"
    - "[com.netflix.servo.tag.TagList].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.tag.Tag].getKey()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 13
    EdgeCount: 151
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SortedTagList$Builder:68"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SortedTagList$Builder:72"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "internCustom(com.netflix.servo.tag.Tag)"
        - "getKey()"
      - BranchSide: "com.netflix.servo.tag.SortedTagList$Builder:71"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:68,1"
      Dst: "[com.netflix.servo.tag.TagList].iterator()"
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:68,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:68,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:69,1"
      Dst: "[com.netflix.servo.tag.Tags].internCustom(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:70,1"
      Dst: "[com.netflix.servo.tag.Tag].getKey()"
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:70,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.SortedTagList$Builder].withTag(com.netflix.servo.tag.Tag)"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList$Builder"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionDepth: 5
    returnType: "com.netflix.servo.tag.SortedTagList$Builder"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.Tag"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.Tags].internCustom(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.annotations.DataSourceType].getKey()"
    - "[com.netflix.servo.annotations.DataSourceLevel:com.netflix.servo.tag.BasicTag:com.netflix.servo.tag.InjectableTag:java.awt.RenderingHints:java.security.Provider:java.util.AbstractMap:java.util.EnumMap:java.util.HashMap:java.util.Hashtable:java.util.IdentityHashMap:java.util.Properties:java.util.TreeMap:java.util.WeakHashMap:java.util.concurrent.ConcurrentHashMap:java.util.jar.Attributes:javax.swing.UIDefaults].getKey()"
    - "[com.google.common.collect.ArrayTable$ArrayMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.HashBiMap$Inverse].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.EnumHashBiMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.reflect.MutableTypeToInstanceMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.cache.LocalCache].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$RowMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Maps$AbstractFilteredMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Column].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.AbstractBiMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.HashBiMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullConcurrentMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$ColumnMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.TreeBasedTable$TreeRow].put(java.lang.Object,java.lang.Object)"
    - "[com.netflix.servo.tag.Tag].getKey()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 7
    EdgeCount: 23
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:79,1"
      Dst: "[com.netflix.servo.tag.Tags].internCustom(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:80,1"
      Dst: "[com.netflix.servo.tag.Tag].getKey()"
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:80,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SortedTagList$Builder].withTag(java.lang.String,java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList$Builder"
    linkageType: ""
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionDepth: 6
    returnType: "com.netflix.servo.tag.SortedTagList$Builder"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.tag.SortedTagList$Builder].withTag(com.netflix.servo.tag.Tag)"
    functionUses: 3
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:88,1"
      Dst: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:88,1"
      Dst: "[com.netflix.servo.tag.SortedTagList$Builder].withTag(com.netflix.servo.tag.Tag)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SortedTagList$Builder].build()"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList$Builder"
    linkageType: ""
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionDepth: 3
    returnType: "com.netflix.servo.tag.SortedTagList"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SortedTagList].<init>(com.netflix.servo.tag.SortedTagList$Builder,com.netflix.servo.tag.SortedTagList$1)"
    functionUses: 3
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList$Builder:95,1"
      Dst: "[com.netflix.servo.tag.SortedTagList].<init>(com.netflix.servo.tag.SortedTagList$Builder,com.netflix.servo.tag.SortedTagList$1)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SortedTagList].<init>(com.netflix.servo.tag.SortedTagList$Builder,com.netflix.servo.tag.SortedTagList$1)"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList"
    linkageType: ""
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.tag.SortedTagList$Builder"
    - "com.netflix.servo.tag.SortedTagList$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SortedTagList].<init>(com.netflix.servo.tag.SortedTagList$Builder)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList:35,1"
      Dst: "[com.netflix.servo.tag.SortedTagList].<init>(com.netflix.servo.tag.SortedTagList$Builder)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SortedTagList].<init>(com.netflix.servo.tag.SortedTagList$Builder)"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList"
    linkageType: ""
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.SortedTagList$Builder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.Collections:java.util.TreeMap].unmodifiableSortedMap(java.util.SortedMap)"
    - "[java.util.TreeMap].<init>(java.util.Map)"
    - "[com.google.common.collect.EmptyImmutableSortedMap:com.netflix.servo.tag.SortedTagList$Builder:java.util.AbstractMap:java.util.TreeMap].access$100(com.netflix.servo.tag.SortedTagList$Builder)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].size()"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].size()"
    - "[com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound].size()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap].size()"
    - "[com.google.common.collect.Maps$AsMapView].size()"
    - "[com.google.common.collect.Maps$NavigableAsMapView].size()"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].size()"
    - "[com.google.common.collect.ImmutableSortedMap].size()"
    - "[com.google.common.collect.TreeRangeSet$ComplementRangesByLowerBound].size()"
    - "[com.google.common.collect.TreeRangeSet$RangesByUpperBound].size()"
    - "[com.google.common.collect.ForwardingMap].size()"
    - "[com.netflix.servo.tag.SortedTagList$Builder].access$100(com.netflix.servo.tag.SortedTagList$Builder)"
    - "[java.util.Collections].unmodifiableSortedMap(java.util.SortedMap)"
    - "[java.util.Map].size()"
    functionUses: 1
    ICount: 12
    EdgeCount: 15
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList:99,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.tag.SortedTagList:101,1"
      Dst: "[com.netflix.servo.tag.SortedTagList$Builder].access$100(com.netflix.servo.tag.SortedTagList$Builder)"
    - Src: "com.netflix.servo.tag.SortedTagList:101,1"
      Dst: "[java.util.TreeMap].<init>(java.util.Map)"
    - Src: "com.netflix.servo.tag.SortedTagList:100,1"
      Dst: "[java.util.Collections].unmodifiableSortedMap(java.util.SortedMap)"
    - Src: "com.netflix.servo.tag.SortedTagList:102,1"
      Dst: "[java.util.Map].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SortedTagList$Builder].access$100(com.netflix.servo.tag.SortedTagList$Builder)"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList$Builder"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.SortedTagList$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Pollers].<init>()"
    functionSourceFile: "com.netflix.servo.monitor.Pollers"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Pollers:30,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Pollers].getPollingIntervals()"
    functionSourceFile: "com.netflix.servo.monitor.Pollers"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Pollers].join(long[])"
    functionSourceFile: "com.netflix.servo.monitor.Pollers"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "long[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.AssertionError].<init>()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(long)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 22
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.Pollers:67"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Pollers:68"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.netflix.servo.monitor.Pollers:67"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.netflix.servo.monitor.Pollers:67"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Pollers:68"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.netflix.servo.monitor.Pollers:67"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.netflix.servo.monitor.Pollers:70"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Pollers:73"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.netflix.servo.monitor.Pollers:67,1"
      Dst: "[java.lang.AssertionError].<init>()"
    - Src: "com.netflix.servo.monitor.Pollers:68,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.Pollers:69,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "com.netflix.servo.monitor.Pollers:71,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.Pollers:74,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.monitor.Pollers].parse(java.lang.String)"
    functionSourceFile: "com.netflix.servo.monitor.Pollers"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 108
    functionDepth: 1
    returnType: "long[]"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].split(java.lang.String)"
    - "[org.slf4j.LoggerFactory].getLogger(java.lang.Class)"
    - "[java.lang.Long].parseLong(java.lang.String)"
    - "[org.slf4j.event.EventRecodingLogger].error(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].error(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.NOPLogger].error(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.event.EventRecodingLogger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[java.lang.Throwable:org.slf4j.helpers.NOPLogger].getMessage()"
    - "[org.slf4j.helpers.SubstituteLogger].info(java.lang.String,java.lang.Object)"
    - "[org.slf4j.event.EventRecodingLogger].info(java.lang.String,java.lang.Object)"
    - "[com.netflix.servo.monitor.Pollers].join(long[])"
    - "[org.slf4j.Logger].error(java.lang.String,java.lang.Object)"
    - "[java.lang.Throwable].getMessage()"
    - "[org.slf4j.Logger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.Logger].info(java.lang.String,java.lang.Object)"
    functionUses: 1
    ICount: 35
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.Pollers:88"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Pollers:102"
        BranchSideFuncs:
        - "parseLong(java.lang.String)"
      - BranchSide: "com.netflix.servo.monitor.Pollers:101"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.Pollers:92"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Pollers:99"
        BranchSideFuncs:
        - "error(java.lang.String,java.lang.Object)"
      - BranchSide: "com.netflix.servo.monitor.Pollers:98"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.Pollers:102"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Pollers:103"
        BranchSideFuncs:
        - "join(long[])"
    - Branch String: "com.netflix.servo.monitor.Pollers:102"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Pollers:106"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Pollers:83,1"
      Dst: "[java.lang.String].split(java.lang.String)"
    - Src: "com.netflix.servo.monitor.Pollers:87,1"
      Dst: "[org.slf4j.LoggerFactory].getLogger(java.lang.Class)"
    - Src: "com.netflix.servo.monitor.Pollers:91,1"
      Dst: "[java.lang.Long].parseLong(java.lang.String)"
    - Src: "com.netflix.servo.monitor.Pollers:93,1"
      Dst: "[org.slf4j.Logger].error(java.lang.String,java.lang.Object)"
    - Src: "com.netflix.servo.monitor.Pollers:97,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.netflix.servo.monitor.Pollers:97,1"
      Dst: "[org.slf4j.Logger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.monitor.Pollers:104,1"
      Dst: "[com.netflix.servo.monitor.Pollers].join(long[])"
    - Src: "com.netflix.servo.monitor.Pollers:103,1"
      Dst: "[org.slf4j.Logger].info(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.SpectatorContext$ServoMeter].<init>(com.netflix.servo.monitor.Monitor)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$ServoMeter"
    linkageType: ""
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getConfig()"
    - "[com.netflix.servo.monitor.DynamicGauge].getConfig()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getConfig()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    functionUses: 1
    ICount: 8
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:214,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:215,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:215,1"
      Dst: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$ServoMeter].id()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$ServoMeter"
    linkageType: ""
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionDepth: 0
    returnType: "com.netflix.spectator.api.Id"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$ServoMeter].addMeasurements(com.netflix.servo.monitor.Monitor,java.util.List)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$ServoMeter"
    linkageType: ""
    functionLinenumber: 224
    functionLinenumberEnd: 248
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.Monitor"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext].access$000(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getConfig()"
    - "[com.netflix.servo.monitor.DynamicGauge].getConfig()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getConfig()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.DynamicCounter].getMonitors()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getMonitors()"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].getMonitors()"
    - "[com.netflix.servo.monitor.DynamicGauge].getMonitors()"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].getMonitors()"
    - "[com.netflix.servo.monitor.DurationTimer].getMonitors()"
    - "[com.netflix.servo.monitor.BucketTimer].getMonitors()"
    - "[com.netflix.servo.monitor.DynamicTimer].getMonitors()"
    - "[com.netflix.servo.monitor.BasicTimer].getMonitors()"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].getMonitors()"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitors()"
    - "[com.netflix.servo.monitor.StatsMonitor].getMonitors()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[com.netflix.servo.SpectatorContext$ServoMeter].addMeasurements(com.netflix.servo.monitor.Monitor,java.util.List)"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getValue()"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getValue()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    - "[com.netflix.servo.monitor.DynamicGauge].getValue()"
    - "[com.netflix.servo.monitor.StatsMonitor].getValue()"
    - "[com.netflix.servo.monitor.DurationTimer].getValue()"
    - "[java.lang.Integer].doubleValue()"
    - "[java.lang.Long].doubleValue()"
    - "[java.util.concurrent.atomic.LongAdder].doubleValue()"
    - "[java.lang.Float].doubleValue()"
    - "[com.google.common.util.concurrent.AtomicDouble].doubleValue()"
    - "[java.lang.Double].doubleValue()"
    - "[java.math.BigDecimal].doubleValue()"
    - "[com.google.common.primitives.UnsignedInteger].doubleValue()"
    - "[java.util.concurrent.atomic.AtomicInteger].doubleValue()"
    - "[java.lang.Short].doubleValue()"
    - "[java.util.concurrent.atomic.AtomicLong].doubleValue()"
    - "[com.google.common.cache.LongAdder].doubleValue()"
    - "[com.netflix.spectator.impl.AtomicDouble].doubleValue()"
    - "[java.lang.Byte].doubleValue()"
    - "[java.math.BigInteger].doubleValue()"
    - "[com.google.common.primitives.UnsignedLong].doubleValue()"
    - "[com.netflix.spectator.api.Measurement].<init>(com.netflix.spectator.api.Id,long,double)"
    - "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.google.common.collect.ImmutableCollection].add(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].add(java.lang.Object)"
    - "[sun.awt.util.IdentityArrayList].add(java.lang.Object)"
    - "[javax.management.AttributeList].add(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].add(java.lang.Object)"
    - "[java.util.AbstractList].add(java.lang.Object)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[com.google.common.collect.ForwardingCollection].add(java.lang.Object)"
    - "[java.util.Vector].add(java.lang.Object)"
    - "[java.util.LinkedList].add(java.lang.Object)"
    - "[com.google.common.collect.FilteredKeyMultimap$AddRejectingList].add(java.lang.Object)"
    - "[com.google.common.collect.Constraints$ConstrainedList].add(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArrayList].add(java.lang.Object)"
    - "[com.netflix.servo.SpectatorContext].access$100()"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.NOPLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[com.netflix.servo.monitor.CompositeMonitor].getMonitors()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    - "[com.netflix.servo.monitor.Monitor].getValue()"
    - "[java.lang.Number].doubleValue()"
    - "[java.util.List].add(java.lang.Object)"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 36
    EdgeCount: 228
    BranchProfiles:
    - Branch String: "com.netflix.servo.SpectatorContext$ServoMeter:225"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext$ServoMeter:247"
        BranchSideFuncs:
        - "access$000(com.netflix.servo.monitor.MonitorConfig)"
      - BranchSide: "com.netflix.servo.SpectatorContext$ServoMeter:246"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.SpectatorContext$ServoMeter:226"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext$ServoMeter:226"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "iterator()"
        - "getMonitors()"
      - BranchSide: "com.netflix.servo.SpectatorContext$ServoMeter:225"
        BranchSideFuncs:
        - "access$000(com.netflix.servo.monitor.MonitorConfig)"
    - Branch String: "com.netflix.servo.SpectatorContext$ServoMeter:228"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext$ServoMeter:231"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "addMeasurements(com.netflix.servo.monitor.Monitor,java.util.List)"
        - "iterator()"
        - "getMonitors()"
      - BranchSide: "com.netflix.servo.SpectatorContext$ServoMeter:230"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.SpectatorContext$ServoMeter:226"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext$ServoMeter:247"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "iterator()"
        - "getMonitors()"
      - BranchSide: "com.netflix.servo.SpectatorContext$ServoMeter:246"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.SpectatorContext$ServoMeter:234"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext$ServoMeter:244"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "<init>(com.netflix.spectator.api.Id,long,double)"
        - "createId(com.netflix.servo.monitor.MonitorConfig)"
        - "doubleValue()"
      - BranchSide: "com.netflix.servo.SpectatorContext$ServoMeter:243"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:228,1"
      Dst: "[com.netflix.servo.monitor.CompositeMonitor].getMonitors()"
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:228,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:228,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:228,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:229,1"
      Dst: "[com.netflix.servo.SpectatorContext$ServoMeter].addMeasurements(com.netflix.servo.monitor.Monitor,java.util.List)"
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:226,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:226,1"
      Dst: "[com.netflix.servo.SpectatorContext].access$000(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:233,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue()"
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:235,1"
      Dst: "[java.lang.Number].doubleValue()"
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:237,1"
      Dst: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:237,1"
      Dst: "[com.netflix.spectator.api.Measurement].<init>(com.netflix.spectator.api.Id,long,double)"
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:238,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:241,1"
      Dst: "[com.netflix.servo.SpectatorContext].access$100()"
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:241,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 6
  - functionName: "[com.netflix.servo.SpectatorContext].access$000(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext].isCounter(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:55,1"
      Dst: "[com.netflix.servo.SpectatorContext].isCounter(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext].isCounter(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - "[com.netflix.servo.tag.SortedTagList].getValue(java.lang.String)"
    - "[com.netflix.servo.tag.BasicTagList].getValue(java.lang.String)"
    - "[com.netflix.servo.tag.TagList].getValue(java.lang.String)"
    functionUses: 2
    ICount: 6
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:187,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - Src: "com.netflix.servo.SpectatorContext:187,1"
      Dst: "[com.netflix.servo.tag.TagList].getValue(java.lang.String)"
    - Src: "com.netflix.servo.SpectatorContext:187,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig"
    linkageType: ""
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionDepth: 0
    returnType: "com.netflix.servo.tag.TagList"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 13
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionDepth: 1
    returnType: "com.netflix.spectator.api.Id"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>(java.util.Map)"
    - "[com.netflix.servo.tag.BasicTagList].asMap()"
    - "[com.netflix.servo.tag.SortedTagList].asMap()"
    - "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - "[java.util.HashMap].remove(java.lang.Object)"
    - "[com.netflix.spectator.api.AbstractRegistry].createId(java.lang.String)"
    - "[com.netflix.spectator.api.ExtendedRegistry].createId(java.lang.String)"
    - "[com.netflix.spectator.api.NoopRegistry].createId(java.lang.String)"
    - "[com.netflix.spectator.api.CompositeRegistry].createId(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - "[com.netflix.spectator.api.DefaultId].withTags(java.util.Map)"
    - "[com.netflix.spectator.api.NoopId].withTags(java.util.Map)"
    - "[com.netflix.servo.tag.TagList].asMap()"
    - "[java.util.Map].remove(java.lang.Object)"
    - "[com.netflix.spectator.api.Registry].createId(java.lang.String)"
    - "[com.netflix.spectator.api.Id].withTags(java.util.Map)"
    functionUses: 13
    ICount: 11
    EdgeCount: 12
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:142,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - Src: "com.netflix.servo.SpectatorContext:142,1"
      Dst: "[com.netflix.servo.tag.TagList].asMap()"
    - Src: "com.netflix.servo.SpectatorContext:142,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    - Src: "com.netflix.servo.SpectatorContext:143,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    - Src: "com.netflix.servo.SpectatorContext:145,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - Src: "com.netflix.servo.SpectatorContext:145,1"
      Dst: "[com.netflix.spectator.api.Registry].createId(java.lang.String)"
    - Src: "com.netflix.servo.SpectatorContext:146,1"
      Dst: "[com.netflix.spectator.api.Id].withTags(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig].getName()"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig"
    linkageType: ""
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 9
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext].access$100()"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$ServoMeter].measure()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$ServoMeter"
    linkageType: ""
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionDepth: 4
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[com.netflix.servo.SpectatorContext$ServoMeter].addMeasurements(com.netflix.servo.monitor.Monitor,java.util.List)"
    functionUses: 3
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:250,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.netflix.servo.SpectatorContext$ServoMeter:251,1"
      Dst: "[com.netflix.servo.SpectatorContext$ServoMeter].addMeasurements(com.netflix.servo.monitor.Monitor,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$ServoMeter].hasExpired()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$ServoMeter"
    linkageType: ""
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MemoryMetricObserver].<init>()"
    functionSourceFile: "com.netflix.servo.publish.MemoryMetricObserver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.MemoryMetricObserver].<init>(java.lang.String,int)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.MemoryMetricObserver:38,1"
      Dst: "[com.netflix.servo.publish.MemoryMetricObserver].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MemoryMetricObserver].<init>(java.lang.String,int)"
    functionSourceFile: "com.netflix.servo.publish.MemoryMetricObserver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.BaseMetricObserver].<init>(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.MemoryMetricObserver:46,1"
      Dst: "[com.netflix.servo.publish.BaseMetricObserver].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MemoryMetricObserver].updateImpl(java.util.List<Metric>)"
    functionSourceFile: "com.netflix.servo.publish.MemoryMetricObserver"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List<Metric>"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MemoryMetricObserver].getObservations()"
    functionSourceFile: "com.netflix.servo.publish.MemoryMetricObserver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.Collections].unmodifiableList(java.util.List)"
    functionUses: 0
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.MemoryMetricObserver:65"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.MemoryMetricObserver:71"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.MemoryMetricObserver:70"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.MemoryMetricObserver:66"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.MemoryMetricObserver:null"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.MemoryMetricObserver:63,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.netflix.servo.publish.MemoryMetricObserver:67,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.netflix.servo.publish.MemoryMetricObserver:71,1"
      Dst: "[java.util.Collections].unmodifiableList(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.publish.PrefixMetricFilter].<init>(java.lang.String,com.netflix.servo.publish.MetricFilter,java.util.NavigableMap)"
    functionSourceFile: "com.netflix.servo.publish.PrefixMetricFilter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.publish.MetricFilter"
    - "java.util.NavigableMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:48,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.PrefixMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.publish.PrefixMetricFilter"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 83
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - "[com.netflix.servo.tag.BasicTagList].getTag(java.lang.String)"
    - "[com.netflix.servo.tag.SortedTagList].getTag(java.lang.String)"
    - "[com.netflix.servo.annotations.DataSourceLevel].getValue()"
    - "[com.netflix.servo.annotations.DataSourceType].getValue()"
    - "[com.netflix.servo.util.Strings].isNullOrEmpty(java.lang.String)"
    - "[com.netflix.servo.publish.RegexMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.publish.PrefixMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.publish.BasicMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.lang.String].substring(int,int)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$NavigableAsMap].descendingMap()"
    - "[com.google.common.collect.Maps$NavigableAsMapView].descendingMap()"
    - "[com.google.common.collect.Maps$UnmodifiableNavigableMap].descendingMap()"
    - "[com.google.common.collect.Maps$DescendingMap].descendingMap()"
    - "[com.google.common.collect.Maps$TransformedEntriesNavigableMap].descendingMap()"
    - "[com.google.common.collect.ImmutableSortedMap].descendingMap()"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].descendingMap()"
    - "[com.google.common.collect.Synchronized$SynchronizedNavigableMap].descendingMap()"
    - "[com.google.common.collect.ForwardingNavigableMap].descendingMap()"
    - "[com.google.common.collect.AbstractNavigableMap].descendingMap()"
    - "[com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound].subMap(java.lang.Object,boolean,java.lang.Object,boolean)"
    - "[com.google.common.collect.ImmutableSortedMap].subMap(java.lang.Object,boolean,java.lang.Object,boolean)"
    - "[com.google.common.collect.TreeRangeSet$RangesByUpperBound].subMap(java.lang.Object,boolean,java.lang.Object,boolean)"
    - "[com.google.common.collect.Maps$TransformedEntriesNavigableMap].subMap(java.lang.Object,boolean,java.lang.Object,boolean)"
    - "[com.google.common.collect.Synchronized$SynchronizedNavigableMap].subMap(java.lang.Object,boolean,java.lang.Object,boolean)"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].subMap(java.lang.Object,boolean,java.lang.Object,boolean)"
    - "[com.google.common.collect.TreeRangeSet$ComplementRangesByLowerBound].subMap(java.lang.Object,boolean,java.lang.Object,boolean)"
    - "[com.google.common.collect.ForwardingNavigableMap].subMap(java.lang.Object,boolean,java.lang.Object,boolean)"
    - "[com.google.common.collect.Maps$UnmodifiableNavigableMap].subMap(java.lang.Object,boolean,java.lang.Object,boolean)"
    - "[com.google.common.collect.Maps$DescendingMap].subMap(java.lang.Object,boolean,java.lang.Object,boolean)"
    - "[com.google.common.collect.Maps$NavigableAsMapView].subMap(java.lang.Object,boolean,java.lang.Object,boolean)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$NavigableAsMap].subMap(java.lang.Object,boolean,java.lang.Object,boolean)"
    - "[com.google.common.collect.ForwardingMap].isEmpty()"
    - "[com.google.common.collect.ImmutableMap].isEmpty()"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].isEmpty()"
    - "[com.google.common.collect.TreeRangeSet$RangesByUpperBound].isEmpty()"
    - "[com.google.common.collect.EmptyImmutableSortedMap:com.netflix.servo.publish.BasicMetricFilter:java.util.AbstractMap:java.util.TreeMap].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.google.common.collect.ForwardingMap].entrySet()"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].entrySet()"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].entrySet()"
    - "[com.google.common.collect.Maps$ImprovedAbstractMap].entrySet()"
    - "[com.google.common.collect.EmptyImmutableSortedMap].entrySet()"
    - "[com.google.common.collect.Maps$DescendingMap].entrySet()"
    - "[com.google.common.collect.AbstractNavigableMap].entrySet()"
    - "[com.google.common.collect.ImmutableSortedMap].entrySet()"
    - "[java.util.TreeMap].entrySet()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[com.google.common.collect.Maps$10].getKey()"
    - "[com.google.common.collect.ForwardingMapEntry].getKey()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1$1$1].getKey()"
    - "[com.google.common.collect.StandardTable$Column$EntrySetIterator$1].getKey()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].getKey()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1$1].getKey()"
    - "[com.google.common.collect.Maps$6].getKey()"
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[com.google.common.collect.StandardTable$Column$EntrySetIterator$1].getValue()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1$1$1].getValue()"
    - "[com.google.common.collect.ForwardingMapEntry].getValue()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1$1].getValue()"
    - "[com.google.common.collect.Maps$6].getValue()"
    - "[com.google.common.cache.LocalCache$HashIterator:com.google.common.cache.LocalCache$WriteThroughEntry:com.google.common.cache.RemovalNotification:com.google.common.collect.AbstractIndexedListIterator:com.google.common.collect.AbstractSequentialIterator:com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1:com.google.common.collect.HashBiMap$EntrySet$1$MapEntry:com.google.common.collect.HashBiMap$Inverse$1$1$InverseEntry:com.google.common.collect.ImmutableEntry:com.google.common.collect.Iterators$1:com.google.common.collect.Iterators$12:com.google.common.collect.Iterators$2:com.google.common.collect.LinkedListMultimap$Node:com.google.common.collect.LinkedListMultimap$ValueForKeyIterator:com.google.common.collect.MapMakerInternalMap$HashIterator:com.google.common.collect.MapMakerInternalMap$WriteThroughEntry:com.google.common.collect.Sets$SubSet$1:com.google.common.collect.TreeRangeMap$RangeMapEntry:com.google.common.collect.WellBehavedMap$EntrySet$1$1:com.netflix.spectator.api.FilteredIterator:com.netflix.spectator.api.TagList$1:java.io.BufferedReader$1:java.nio.file.FileTreeIterator:java.nio.file.Files$2:java.util.HashMap$Node:java.util.HashSet:java.util.Hashtable$Entry:java.util.TreeMap$Entry:java.util.TreeMap$EntrySet:java.util.TreeMap$KeySet:java.util.TreeSet:java.util.WeakHashMap$Entry:java.util.concurrent.ArrayBlockingQueue$Itr:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView:java.util.concurrent.ConcurrentHashMap$Node:java.util.concurrent.CopyOnWriteArraySet:javax.print.MimeType$ParameterMapEntrySet:org.testng.internal.ArrayIterator].getValue()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].getValue()"
    - "[com.google.common.collect.Maps$10].getValue()"
    - "[com.google.common.collect.MapConstraints$2].getValue()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1$1].getValue()"
    - "[com.netflix.servo.tag.TagList].getTag(java.lang.String)"
    - "[com.netflix.servo.tag.Tag].getValue()"
    - "[com.netflix.servo.publish.MetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.util.NavigableMap].subMap(java.lang.Object,boolean,java.lang.Object,boolean)"
    - "[java.util.NavigableMap].descendingMap()"
    - "[java.util.Map].isEmpty()"
    - "[java.util.SortedMap].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map$Entry].getValue()"
    functionUses: 10
    ICount: 47
    EdgeCount: 277
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.PrefixMetricFilter:61"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.PrefixMetricFilter:64"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.PrefixMetricFilter:63"
        BranchSideFuncs:
        - "getTag(java.lang.String)"
    - Branch String: "com.netflix.servo.publish.PrefixMetricFilter:65"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.PrefixMetricFilter:63"
        BranchSideFuncs:
        - "getTag(java.lang.String)"
    - Branch String: "com.netflix.servo.publish.PrefixMetricFilter:68"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.PrefixMetricFilter:71"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.PrefixMetricFilter:70"
        BranchSideFuncs:
        - "isEmpty()"
        - "descendingMap()"
        - "substring(int,int)"
        - "subMap(java.lang.Object,boolean,java.lang.Object,boolean)"
    - Branch String: "com.netflix.servo.publish.PrefixMetricFilter:74"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.PrefixMetricFilter:77"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.PrefixMetricFilter:76"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "iterator()"
        - "entrySet()"
    - Branch String: "com.netflix.servo.publish.PrefixMetricFilter:77"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.PrefixMetricFilter:82"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "iterator()"
        - "entrySet()"
        - "startsWith(java.lang.String)"
        - "getKey()"
      - BranchSide: "com.netflix.servo.publish.PrefixMetricFilter:81"
        BranchSideFuncs:
        - "matches(com.netflix.servo.monitor.MonitorConfig)"
    - Branch String: "com.netflix.servo.publish.PrefixMetricFilter:78"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.PrefixMetricFilter:81"
        BranchSideFuncs:
        - "getValue()"
      - BranchSide: "com.netflix.servo.publish.PrefixMetricFilter:80"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:58,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:59,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:64,1"
      Dst: "[com.netflix.servo.tag.TagList].getTag(java.lang.String)"
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:65,1"
      Dst: "[com.netflix.servo.tag.Tag].getValue()"
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:68,1"
      Dst: "[com.netflix.servo.util.Strings].isNullOrEmpty(java.lang.String)"
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:69,1"
      Dst: "[com.netflix.servo.publish.MetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:71,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:73,1"
      Dst: "[java.util.NavigableMap].subMap(java.lang.Object,boolean,java.lang.Object,boolean)"
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:73,1"
      Dst: "[java.util.NavigableMap].descendingMap()"
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:74,1"
      Dst: "[java.util.Map].isEmpty()"
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:77,1"
      Dst: "[java.util.SortedMap].entrySet()"
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:77,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:77,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:77,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:78,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:78,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "com.netflix.servo.publish.PrefixMetricFilter:79,1"
      Dst: "[java.util.Map$Entry].getValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 16
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.util.Strings].isNullOrEmpty(java.lang.String)"
    functionSourceFile: "com.netflix.servo.util.Strings"
    linkageType: ""
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].isEmpty()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.Strings:31"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Strings:30"
        BranchSideFuncs:
        - "isEmpty()"
    - Branch String: "com.netflix.servo.util.Strings:31"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Strings:30"
        BranchSideFuncs:
        - "isEmpty()"
    Callsites:
    - Src: "com.netflix.servo.util.Strings:31,1"
      Dst: "[java.lang.String].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.google.common.base.Preconditions].<init>()"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Preconditions:101,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Preconditions].checkArgument(boolean)"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>()"
    functionUses: 39
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.google.common.base.Preconditions:110"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:113"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.google.common.base.Preconditions:112"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Preconditions:111,1"
      Dst: "[java.lang.IllegalArgumentException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Preconditions].checkArgument(boolean,java.lang.Object)"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "boolean"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].valueOf(java.lang.Object)"
    functionUses: 7
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.google.common.base.Preconditions:124"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:127"
        BranchSideFuncs:
        - "valueOf(java.lang.Object)"
        - "<init>(java.lang.String)"
      - BranchSide: "com.google.common.base.Preconditions:126"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Preconditions:125,1"
      Dst: "[java.lang.String].valueOf(java.lang.Object)"
    - Src: "com.google.common.base.Preconditions:125,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Preconditions].checkArgument(boolean,java.lang.String,java.lang.Object[])"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "boolean"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.google.common.base.Preconditions].format(java.lang.String,java.lang.Object[])"
    functionUses: 28
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.google.common.base.Preconditions:147"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:150"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "<init>(java.lang.String)"
      - BranchSide: "com.google.common.base.Preconditions:149"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Preconditions:148,1"
      Dst: "[com.google.common.base.Preconditions].format(java.lang.String,java.lang.Object[])"
    - Src: "com.google.common.base.Preconditions:148,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Preconditions].format(java.lang.String,java.lang.Object[])"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 412
    functionLinenumberEnd: 442
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].valueOf(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.String].length()"
    - "[java.lang.String].indexOf(java.lang.String,int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.String].substring(int,int)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.String].substring(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 7
    ICount: 44
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "com.google.common.base.Preconditions:419"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:428"
        BranchSideFuncs:
        - "indexOf(java.lang.String,int)"
      - BranchSide: "com.google.common.base.Preconditions:427"
        BranchSideFuncs:
        - "substring(int)"
    - Branch String: "com.google.common.base.Preconditions:421"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:424"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Preconditions:423"
        BranchSideFuncs:
        - "substring(int,int)"
    - Branch String: "com.google.common.base.Preconditions:431"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:441"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Preconditions:440"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.google.common.base.Preconditions:434"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:438"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "append(java.lang.Object)"
      - BranchSide: "com.google.common.base.Preconditions:437"
        BranchSideFuncs:
        - "append(char)"
    Callsites:
    - Src: "com.google.common.base.Preconditions:413,1"
      Dst: "[java.lang.String].valueOf(java.lang.Object)"
    - Src: "com.google.common.base.Preconditions:416,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.google.common.base.Preconditions:416,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.google.common.base.Preconditions:420,1"
      Dst: "[java.lang.String].indexOf(java.lang.String,int)"
    - Src: "com.google.common.base.Preconditions:424,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "com.google.common.base.Preconditions:424,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.google.common.base.Preconditions:425,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.google.common.base.Preconditions:428,1"
      Dst: "[java.lang.String].substring(int)"
    - Src: "com.google.common.base.Preconditions:438,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.google.common.base.Preconditions:441,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[com.google.common.base.Preconditions].checkState(boolean)"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>()"
    functionUses: 13
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.google.common.base.Preconditions:160"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:163"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.google.common.base.Preconditions:162"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Preconditions:161,1"
      Dst: "[java.lang.IllegalStateException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Preconditions].checkState(boolean,java.lang.Object)"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "boolean"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[java.lang.String].valueOf(java.lang.Object)"
    functionUses: 19
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.google.common.base.Preconditions:175"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:178"
        BranchSideFuncs:
        - "valueOf(java.lang.Object)"
        - "<init>(java.lang.String)"
      - BranchSide: "com.google.common.base.Preconditions:177"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Preconditions:176,1"
      Dst: "[java.lang.String].valueOf(java.lang.Object)"
    - Src: "com.google.common.base.Preconditions:176,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Preconditions].checkState(boolean,java.lang.String,java.lang.Object[])"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "boolean"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[com.google.common.base.Preconditions].format(java.lang.String,java.lang.Object[])"
    functionUses: 9
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.google.common.base.Preconditions:199"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:202"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "<init>(java.lang.String)"
      - BranchSide: "com.google.common.base.Preconditions:201"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Preconditions:200,1"
      Dst: "[com.google.common.base.Preconditions].format(java.lang.String,java.lang.Object[])"
    - Src: "com.google.common.base.Preconditions:200,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.NullPointerException].<init>()"
    functionUses: 369
    ICount: 6
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.google.common.base.Preconditions:212"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:215"
        BranchSideFuncs:
        - "<init>()"
      - BranchSide: "com.google.common.base.Preconditions:214"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Preconditions:213,1"
      Dst: "[java.lang.NullPointerException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.lang.String].valueOf(java.lang.Object)"
    functionUses: 17
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.google.common.base.Preconditions:228"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:231"
        BranchSideFuncs:
        - "valueOf(java.lang.Object)"
        - "<init>(java.lang.String)"
      - BranchSide: "com.google.common.base.Preconditions:230"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Preconditions:229,1"
      Dst: "[java.lang.String].valueOf(java.lang.Object)"
    - Src: "com.google.common.base.Preconditions:229,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object,java.lang.String,java.lang.Object[])"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.base.Preconditions:251"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:254"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Preconditions:253,1"
      Dst: "[com.google.common.base.Preconditions].format(java.lang.String,java.lang.Object[])"
    - Src: "com.google.common.base.Preconditions:253,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Preconditions].checkElementIndex(int,int)"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionDepth: 3
    returnType: "int"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkElementIndex(int,int,java.lang.String)"
    functionUses: 35
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Preconditions:295,1"
      Dst: "[com.google.common.base.Preconditions].checkElementIndex(int,int,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Preconditions].checkElementIndex(int,int,java.lang.String)"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    - "[com.google.common.base.Preconditions].badElementIndex(int,int,java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.google.common.base.Preconditions:312"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:313"
        BranchSideFuncs:
        - "badElementIndex(int,int,java.lang.String)"
        - "<init>(java.lang.String)"
      - BranchSide: "com.google.common.base.Preconditions:312"
        BranchSideFuncs:
        - "badElementIndex(int,int,java.lang.String)"
        - "<init>(java.lang.String)"
    - Branch String: "com.google.common.base.Preconditions:312"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:315"
        BranchSideFuncs:
        - "badElementIndex(int,int,java.lang.String)"
        - "<init>(java.lang.String)"
      - BranchSide: "com.google.common.base.Preconditions:314"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Preconditions:313,1"
      Dst: "[com.google.common.base.Preconditions].badElementIndex(int,int,java.lang.String)"
    - Src: "com.google.common.base.Preconditions:313,1"
      Dst: "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.base.Preconditions].badElementIndex(int,int,java.lang.String)"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 318
    functionLinenumberEnd: 325
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 27
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.google.common.base.Preconditions:319"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:321"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Preconditions:320"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Preconditions:321"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:324"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "<init>(java.lang.String)"
        - "append(int)"
      - BranchSide: "com.google.common.base.Preconditions:323"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.google.common.base.Preconditions:320,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.google.common.base.Preconditions:320,1"
      Dst: "[com.google.common.base.Preconditions].format(java.lang.String,java.lang.Object[])"
    - Src: "com.google.common.base.Preconditions:322,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.google.common.base.Preconditions:322,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.google.common.base.Preconditions:322,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.google.common.base.Preconditions:322,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.google.common.base.Preconditions:322,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Preconditions].checkPositionIndex(int,int)"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionDepth: 3
    returnType: "int"
    argCount: 2
    argTypes:
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkPositionIndex(int,int,java.lang.String)"
    functionUses: 11
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Preconditions:339,1"
      Dst: "[com.google.common.base.Preconditions].checkPositionIndex(int,int,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Preconditions].checkPositionIndex(int,int,java.lang.String)"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionDepth: 2
    returnType: "int"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    - "[com.google.common.base.Preconditions].badPositionIndex(int,int,java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.google.common.base.Preconditions:355"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:356"
        BranchSideFuncs:
        - "badPositionIndex(int,int,java.lang.String)"
        - "<init>(java.lang.String)"
      - BranchSide: "com.google.common.base.Preconditions:355"
        BranchSideFuncs:
        - "badPositionIndex(int,int,java.lang.String)"
        - "<init>(java.lang.String)"
    - Branch String: "com.google.common.base.Preconditions:355"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:358"
        BranchSideFuncs:
        - "badPositionIndex(int,int,java.lang.String)"
        - "<init>(java.lang.String)"
      - BranchSide: "com.google.common.base.Preconditions:357"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Preconditions:356,1"
      Dst: "[com.google.common.base.Preconditions].badPositionIndex(int,int,java.lang.String)"
    - Src: "com.google.common.base.Preconditions:356,1"
      Dst: "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.base.Preconditions].badPositionIndex(int,int,java.lang.String)"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 3
    ICount: 27
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.google.common.base.Preconditions:362"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:364"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Preconditions:363"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Preconditions:364"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:367"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "<init>(java.lang.String)"
        - "append(int)"
      - BranchSide: "com.google.common.base.Preconditions:366"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.google.common.base.Preconditions:363,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.google.common.base.Preconditions:363,1"
      Dst: "[com.google.common.base.Preconditions].format(java.lang.String,java.lang.Object[])"
    - Src: "com.google.common.base.Preconditions:365,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.google.common.base.Preconditions:365,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.google.common.base.Preconditions:365,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.google.common.base.Preconditions:365,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.google.common.base.Preconditions:365,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Preconditions].checkPositionIndexes(int,int,int)"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 384
    functionLinenumberEnd: 389
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    - "[com.google.common.base.Preconditions].badPositionIndexes(int,int,int)"
    functionUses: 24
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.google.common.base.Preconditions:385"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:386"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
        - "badPositionIndexes(int,int,int)"
      - BranchSide: "com.google.common.base.Preconditions:385"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
        - "badPositionIndexes(int,int,int)"
    - Branch String: "com.google.common.base.Preconditions:385"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:386"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
        - "badPositionIndexes(int,int,int)"
      - BranchSide: "com.google.common.base.Preconditions:385"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
        - "badPositionIndexes(int,int,int)"
    - Branch String: "com.google.common.base.Preconditions:385"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:388"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
        - "badPositionIndexes(int,int,int)"
      - BranchSide: "com.google.common.base.Preconditions:387"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Preconditions:386,1"
      Dst: "[com.google.common.base.Preconditions].badPositionIndexes(int,int,int)"
    - Src: "com.google.common.base.Preconditions:386,1"
      Dst: "[java.lang.IndexOutOfBoundsException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.google.common.base.Preconditions].badPositionIndexes(int,int,int)"
    functionSourceFile: "com.google.common.base.Preconditions"
    linkageType: ""
    functionLinenumber: 390
    functionLinenumberEnd: 399
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "int"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].badPositionIndex(int,int,java.lang.String)"
    - "[com.google.common.base.Preconditions].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 18
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.google.common.base.Preconditions:391"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:392"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Preconditions:391"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Preconditions:391"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:394"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Preconditions:393"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Preconditions:394"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:395"
        BranchSideFuncs:
        - "badPositionIndex(int,int,java.lang.String)"
      - BranchSide: "com.google.common.base.Preconditions:394"
        BranchSideFuncs:
        - "badPositionIndex(int,int,java.lang.String)"
    - Branch String: "com.google.common.base.Preconditions:394"
      Branch Sides:
      - BranchSide: "com.google.common.base.Preconditions:398"
        BranchSideFuncs:
        - "badPositionIndex(int,int,java.lang.String)"
      - BranchSide: "com.google.common.base.Preconditions:397"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
    Callsites:
    - Src: "com.google.common.base.Preconditions:392,1"
      Dst: "[com.google.common.base.Preconditions].badPositionIndex(int,int,java.lang.String)"
    - Src: "com.google.common.base.Preconditions:398,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.google.common.base.Preconditions:398,1"
      Dst: "[com.google.common.base.Preconditions].format(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.spectator.impl.Config$lambda_static_0__14].bootstrap$()"
    functionSourceFile: "com.netflix.spectator.impl.Config$lambda_static_0__14"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "com.netflix.spectator.api.RegistryConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.impl.Config$lambda_static_0__14].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.impl.Config$lambda_static_0__14:-1,1"
      Dst: "[com.netflix.spectator.impl.Config$lambda_static_0__14].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.Config$lambda_static_0__14].<init>()"
    functionSourceFile: "com.netflix.spectator.impl.Config$lambda_static_0__14"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.impl.Config$lambda_static_0__14:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.Config$lambda_static_0__14].get(java.lang.String)"
    functionSourceFile: "com.netflix.spectator.impl.Config$lambda_static_0__14"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.impl.Config].lambda$static$0(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.impl.Config$lambda_static_0__14:-1,1"
      Dst: "[com.netflix.spectator.impl.Config].lambda$static$0(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.Config].lambda$static$0(java.lang.String)"
    functionSourceFile: "com.netflix.spectator.impl.Config"
    linkageType: ""
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 1
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.impl.Config:30,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.spectator.impl.Config:30,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.spectator.impl.Config:30,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.netflix.spectator.impl.Config:30,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$lambda_static_0__1].bootstrap$()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$lambda_static_0__1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.concurrent.ThreadFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$lambda_static_0__1].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$lambda_static_0__1:-1,1"
      Dst: "[com.netflix.servo.SpectatorContext$lambda_static_0__1].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$lambda_static_0__1].<init>()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$lambda_static_0__1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$lambda_static_0__1:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$lambda_static_0__1].newThread(java.lang.Runnable)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$lambda_static_0__1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Thread"
    argCount: 1
    argTypes:
    - "java.lang.Runnable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext].lambda$static$0(java.lang.Runnable)"
    functionUses: 4
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$lambda_static_0__1:-1,1"
      Dst: "[com.netflix.servo.SpectatorContext].lambda$static$0(java.lang.Runnable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext].lambda$static$0(java.lang.Runnable)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionDepth: 0
    returnType: "java.lang.Thread"
    argCount: 1
    argTypes:
    - "java.lang.Runnable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Thread].<init>(java.lang.Runnable,java.lang.String)"
    - "[java.lang.Thread].setDaemon(boolean)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:63,1"
      Dst: "[java.lang.Thread].<init>(java.lang.Runnable,java.lang.String)"
    - Src: "com.netflix.servo.SpectatorContext:64,1"
      Dst: "[java.lang.Thread].setDaemon(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.MonitorMBean].createMBeans(java.lang.String,com.netflix.servo.monitor.Monitor<?>,com.netflix.servo.jmx.ObjectNameMapper)"
    functionSourceFile: "com.netflix.servo.jmx.MonitorMBean"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionDepth: 0
    returnType: "java.util.List<MonitorMBean>"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.monitor.Monitor<?>"
    - "com.netflix.servo.jmx.ObjectNameMapper"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[com.netflix.servo.jmx.MonitorMBean].createMBeans(java.util.List,java.lang.String,com.netflix.servo.monitor.Monitor,com.netflix.servo.jmx.ObjectNameMapper)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.MonitorMBean:51,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.netflix.servo.jmx.MonitorMBean:52,1"
      Dst: "[com.netflix.servo.jmx.MonitorMBean].createMBeans(java.util.List,java.lang.String,com.netflix.servo.monitor.Monitor,com.netflix.servo.jmx.ObjectNameMapper)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.MonitorMBean].createMBeans(java.util.List<MonitorMBean>,java.lang.String,com.netflix.servo.monitor.Monitor<?>,com.netflix.servo.jmx.ObjectNameMapper)"
    functionSourceFile: "com.netflix.servo.jmx.MonitorMBean"
    linkageType: ""
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionDepth: 2
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.util.List<MonitorMBean>"
    - "java.lang.String"
    - "com.netflix.servo.monitor.Monitor<?>"
    - "com.netflix.servo.jmx.ObjectNameMapper"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DynamicCounter].getMonitors()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getMonitors()"
    - "[com.netflix.servo.monitor.DynamicGauge].getMonitors()"
    - "[com.netflix.servo.monitor.DynamicTimer].getMonitors()"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].getMonitors()"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitors()"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].getMonitors()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator:com.google.common.collect.AbstractIndexedListIterator:com.google.common.collect.AbstractSequentialIterator:com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1:com.google.common.collect.Iterators$1:com.google.common.collect.Iterators$12:com.google.common.collect.Iterators$2:com.google.common.collect.LinkedListMultimap$ValueForKeyIterator:com.google.common.collect.MapMakerInternalMap$HashIterator:com.google.common.collect.Sets$SubSet$1:com.netflix.spectator.api.FilteredIterator:com.netflix.spectator.api.TagList$1:java.io.BufferedReader$1:java.nio.file.FileTreeIterator:java.nio.file.Files$2:java.util.AbstractList:java.util.AbstractSequentialList:java.util.ArrayList:java.util.LinkedList:java.util.Vector:java.util.concurrent.ArrayBlockingQueue$Itr:java.util.concurrent.CopyOnWriteArrayList:javax.management.AttributeList:org.testng.internal.ArrayIterator:sun.awt.util.IdentityArrayList].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[com.netflix.servo.jmx.MonitorMBean].createMBeans(java.util.List,java.lang.String,com.netflix.servo.monitor.Monitor,com.netflix.servo.jmx.ObjectNameMapper)"
    - "[com.netflix.servo.jmx.MonitorMBean].<init>(java.lang.String,com.netflix.servo.monitor.Monitor,com.netflix.servo.jmx.ObjectNameMapper)"
    - "[com.google.common.collect.ImmutableCollection].add(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].add(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].add(java.lang.Object)"
    - "[com.google.common.collect.ForwardingCollection].add(java.lang.Object)"
    - "[com.google.common.collect.FilteredKeyMultimap$AddRejectingList].add(java.lang.Object)"
    - "[com.google.common.collect.Constraints$ConstrainedList].add(java.lang.Object)"
    - "[com.netflix.servo.monitor.CompositeMonitor].getMonitors()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 2
    ICount: 20
    EdgeCount: 150
    BranchProfiles:
    - Branch String: "com.netflix.servo.jmx.MonitorMBean:58"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.MonitorMBean:63"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "getMonitors()"
        - "next()"
      - BranchSide: "com.netflix.servo.jmx.MonitorMBean:62"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "<init>(java.lang.String,com.netflix.servo.monitor.Monitor,com.netflix.servo.jmx.ObjectNameMapper)"
    - Branch String: "com.netflix.servo.jmx.MonitorMBean:59"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.MonitorMBean:59"
        BranchSideFuncs:
        - "createMBeans(java.util.List,java.lang.String,com.netflix.servo.monitor.Monitor,com.netflix.servo.jmx.ObjectNameMapper)"
        - "hasNext()"
        - "iterator()"
        - "getMonitors()"
        - "next()"
      - BranchSide: "com.netflix.servo.jmx.MonitorMBean:58"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "getMonitors()"
        - "next()"
    Callsites:
    - Src: "com.netflix.servo.jmx.MonitorMBean:59,1"
      Dst: "[com.netflix.servo.monitor.CompositeMonitor].getMonitors()"
    - Src: "com.netflix.servo.jmx.MonitorMBean:59,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.jmx.MonitorMBean:59,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.jmx.MonitorMBean:59,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.jmx.MonitorMBean:60,1"
      Dst: "[com.netflix.servo.jmx.MonitorMBean].createMBeans(java.util.List,java.lang.String,com.netflix.servo.monitor.Monitor,com.netflix.servo.jmx.ObjectNameMapper)"
    - Src: "com.netflix.servo.jmx.MonitorMBean:63,1"
      Dst: "[com.netflix.servo.jmx.MonitorMBean].<init>(java.lang.String,com.netflix.servo.monitor.Monitor,com.netflix.servo.jmx.ObjectNameMapper)"
    - Src: "com.netflix.servo.jmx.MonitorMBean:63,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.jmx.MonitorMBean].<init>(java.lang.String,com.netflix.servo.monitor.Monitor,com.netflix.servo.jmx.ObjectNameMapper)"
    functionSourceFile: "com.netflix.servo.jmx.MonitorMBean"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.monitor.Monitor"
    - "com.netflix.servo.jmx.ObjectNameMapper"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.netflix.servo.jmx.MonitorMBean].createObjectName(com.netflix.servo.jmx.ObjectNameMapper,java.lang.String)"
    - "[com.netflix.servo.jmx.MonitorMBean].createBeanInfo()"
    functionUses: 1
    ICount: 11
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.MonitorMBean:80,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.jmx.MonitorMBean:82,1"
      Dst: "[com.netflix.servo.jmx.MonitorMBean].createObjectName(com.netflix.servo.jmx.ObjectNameMapper,java.lang.String)"
    - Src: "com.netflix.servo.jmx.MonitorMBean:83,1"
      Dst: "[com.netflix.servo.jmx.MonitorMBean].createBeanInfo()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.MonitorMBean].createObjectName(com.netflix.servo.jmx.ObjectNameMapper,java.lang.String)"
    functionSourceFile: "com.netflix.servo.jmx.MonitorMBean"
    linkageType: ""
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionDepth: 0
    returnType: "javax.management.ObjectName"
    argCount: 2
    argTypes:
    - "com.netflix.servo.jmx.ObjectNameMapper"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.jmx.OrderedObjectNameMapper].createObjectName(java.lang.String,com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.jmx.DefaultObjectNameMapper].createObjectName(java.lang.String,com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.jmx.ObjectNameMapper].createObjectName(java.lang.String,com.netflix.servo.monitor.Monitor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.MonitorMBean:148,1"
      Dst: "[com.netflix.servo.jmx.ObjectNameMapper].createObjectName(java.lang.String,com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.MonitorMBean].createBeanInfo()"
    functionSourceFile: "com.netflix.servo.jmx.MonitorMBean"
    linkageType: ""
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionDepth: 0
    returnType: "javax.management.MBeanInfo"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.jmx.MonitorMBean].createAttributeInfo(com.netflix.servo.monitor.Monitor)"
    - "[javax.management.MBeanInfo].<init>(java.lang.String,java.lang.String,javax.management.MBeanAttributeInfo[],javax.management.MBeanConstructorInfo[],javax.management.MBeanOperationInfo[],javax.management.MBeanNotificationInfo[])"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    functionUses: 1
    ICount: 10
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.MonitorMBean:153,1"
      Dst: "[com.netflix.servo.jmx.MonitorMBean].createAttributeInfo(com.netflix.servo.monitor.Monitor)"
    - Src: "com.netflix.servo.jmx.MonitorMBean:155,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.jmx.MonitorMBean:155,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.netflix.servo.jmx.MonitorMBean:155,1"
      Dst: "[javax.management.MBeanInfo].<init>(java.lang.String,java.lang.String,javax.management.MBeanAttributeInfo[],javax.management.MBeanConstructorInfo[],javax.management.MBeanOperationInfo[],javax.management.MBeanNotificationInfo[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.MonitorMBean].getObjectName()"
    functionSourceFile: "com.netflix.servo.jmx.MonitorMBean"
    linkageType: ""
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionDepth: 0
    returnType: "javax.management.ObjectName"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.MonitorMBean].getAttribute(java.lang.String)"
    functionSourceFile: "com.netflix.servo.jmx.MonitorMBean"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitor].getValue()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.MonitorMBean:98,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue()"
    JavaMethodInfo:
      exceptions:
      - "javax.management.AttributeNotFoundException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.MonitorMBean].setAttribute(javax.management.Attribute)"
    functionSourceFile: "com.netflix.servo.jmx.MonitorMBean"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "javax.management.Attribute"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.MonitorMBean:107,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "javax.management.InvalidAttributeValueException"
      - "javax.management.MBeanException"
      - "javax.management.AttributeNotFoundException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.MonitorMBean].getAttributes(java.lang.String[])"
    functionSourceFile: "com.netflix.servo.jmx.MonitorMBean"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "javax.management.AttributeList"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.management.AttributeList].<init>()"
    - "[com.netflix.servo.monitor.Monitor].getValue()"
    - "[javax.management.Attribute].<init>(java.lang.String,java.lang.Object)"
    - "[javax.management.AttributeList].add(javax.management.Attribute)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.jmx.MonitorMBean:116"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.MonitorMBean:118"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.jmx.MonitorMBean:115,1"
      Dst: "[javax.management.AttributeList].<init>()"
    - Src: "com.netflix.servo.jmx.MonitorMBean:117,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue()"
    - Src: "com.netflix.servo.jmx.MonitorMBean:117,1"
      Dst: "[javax.management.Attribute].<init>(java.lang.String,java.lang.Object)"
    - Src: "com.netflix.servo.jmx.MonitorMBean:117,1"
      Dst: "[javax.management.AttributeList].add(javax.management.Attribute)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.jmx.MonitorMBean].setAttributes(javax.management.AttributeList)"
    functionSourceFile: "com.netflix.servo.jmx.MonitorMBean"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "javax.management.AttributeList"
    argCount: 1
    argTypes:
    - "javax.management.AttributeList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.MonitorMBean:127,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.MonitorMBean].invoke(java.lang.String,java.lang.Object[],java.lang.String[])"
    functionSourceFile: "com.netflix.servo.jmx.MonitorMBean"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.MonitorMBean:136,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "javax.management.MBeanException"
      - "javax.management.ReflectionException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.MonitorMBean].getMBeanInfo()"
    functionSourceFile: "com.netflix.servo.jmx.MonitorMBean"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "javax.management.MBeanInfo"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.MonitorMBean].createAttributeInfo(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.jmx.MonitorMBean"
    linkageType: ""
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionDepth: 1
    returnType: "javax.management.MBeanAttributeInfo"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getName()"
    - "[javax.management.MBeanAttributeInfo].<init>(java.lang.String,java.lang.String,java.lang.String,boolean,boolean,boolean)"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getConfig()"
    - "[com.netflix.servo.monitor.DynamicGauge].getConfig()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getConfig()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].toString()"
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    functionUses: 1
    ICount: 14
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.netflix.servo.jmx.MonitorMBean:164"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.MonitorMBean:166"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.jmx.MonitorMBean:165"
        BranchSideFuncs:
        - "getName()"
    Callsites:
    - Src: "com.netflix.servo.jmx.MonitorMBean:165,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.netflix.servo.jmx.MonitorMBean:170,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.jmx.MonitorMBean:170,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].toString()"
    - Src: "com.netflix.servo.jmx.MonitorMBean:170,1"
      Dst: "[javax.management.MBeanAttributeInfo].<init>(java.lang.String,java.lang.String,java.lang.String,boolean,boolean,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.MonitorConfig].toString()"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig"
    linkageType: ""
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 40
    ICount: 15
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig:230,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.MonitorConfig:230,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.MonitorConfig:230,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.MonitorConfig:230,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.MonitorConfig:230,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.testng.reporters.Tag].<init>(java.lang.String,java.lang.String)"
    functionSourceFile: "org.testng.reporters.Tag"
    linkageType: ""
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.testng.reporters.Tag:326,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CounterToRateMetricTransform$1].<init>(com.netflix.servo.publish.CounterToRateMetricTransform,int,float,boolean,com.netflix.servo.util.Clock,long)"
    functionSourceFile: "com.netflix.servo.publish.CounterToRateMetricTransform$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 6
    argTypes:
    - "com.netflix.servo.publish.CounterToRateMetricTransform"
    - "int"
    - "float"
    - "boolean"
    - "com.netflix.servo.util.Clock"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.LinkedHashMap].<init>(int,float,boolean)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform$1:101,1"
      Dst: "[java.util.LinkedHashMap].<init>(int,float,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CounterToRateMetricTransform$1].removeEldestEntry(java.util.Map$Entry)"
    functionSourceFile: "com.netflix.servo.publish.CounterToRateMetricTransform$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.Map$Entry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Clock].now()"
    - "[java.util.Map$Entry].getValue()"
    - "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].getTimestamp()"
    - "[com.netflix.servo.publish.CounterToRateMetricTransform].access$000()"
    - "[java.util.Map$Entry].getKey()"
    - "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.CounterToRateMetricTransform$1:105"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.CounterToRateMetricTransform$1:-1"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.CounterToRateMetricTransform$1:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.CounterToRateMetricTransform$1:106"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.CounterToRateMetricTransform$1:109"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.CounterToRateMetricTransform$1:108"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform$1:103,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform$1:104,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform$1:104,1"
      Dst: "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].getTimestamp()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform$1:107,1"
      Dst: "[com.netflix.servo.publish.CounterToRateMetricTransform].access$000()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform$1:107,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform$1:107,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].getTimestamp()"
    functionSourceFile: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CounterToRateMetricTransform].access$000()"
    functionSourceFile: "com.netflix.servo.publish.CounterToRateMetricTransform"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.UnmodifiableSet].<init>()"
    functionSourceFile: "com.netflix.servo.util.UnmodifiableSet"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.UnmodifiableSet:28,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.UnmodifiableSet].of(java.lang.Object[])"
    functionSourceFile: "com.netflix.servo.util.UnmodifiableSet"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Set"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashSet].<init>()"
    - "[java.util.Collections].addAll(java.util.Collection,java.lang.Object[])"
    - "[java.util.Collections].unmodifiableSet(java.util.Set)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.UnmodifiableSet:40,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "com.netflix.servo.util.UnmodifiableSet:41,1"
      Dst: "[java.util.Collections].addAll(java.util.Collection,java.lang.Object[])"
    - Src: "com.netflix.servo.util.UnmodifiableSet:42,1"
      Dst: "[java.util.Collections].unmodifiableSet(java.util.Set)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.UnmodifiableSet].copyOf(java.util.Iterator<?\
      \ extends E>)"
    functionSourceFile: "com.netflix.servo.util.UnmodifiableSet"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Set<E>"
    argCount: 1
    argTypes:
    - "java.util.Iterator<? extends E>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashSet].<init>()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Set].add(java.lang.Object)"
    - "[java.util.Collections].unmodifiableSet(java.util.Set)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.UnmodifiableSet:54"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.UnmodifiableSet:57"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.UnmodifiableSet:56"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.UnmodifiableSet:53,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "com.netflix.servo.util.UnmodifiableSet:54,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.util.UnmodifiableSet:55,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.util.UnmodifiableSet:55,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    - Src: "com.netflix.servo.util.UnmodifiableSet:57,1"
      Dst: "[java.util.Collections].unmodifiableSet(java.util.Set)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.ContextualTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.tag.TaggingContext,com.google.common.base.Function)"
    functionSourceFile: "com.netflix.servo.monitor.ContextualTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.tag.TaggingContext"
    - "com.google.common.base.Function"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.tag.TaggingContext,com.google.common.base.Function)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.ContextualTimer:40,1"
      Dst: "[com.netflix.servo.monitor.AbstractContextualMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.tag.TaggingContext,com.google.common.base.Function)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.ContextualTimer].start()"
    functionSourceFile: "com.netflix.servo.monitor.ContextualTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.netflix.servo.monitor.Stopwatch"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitorForCurrentContext()"
    - "[com.netflix.servo.monitor.TimedStopwatch].<init>(com.netflix.servo.monitor.Timer)"
    - "[com.netflix.servo.monitor.Stopwatch].start()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.ContextualTimer:48,1"
      Dst: "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitorForCurrentContext()"
    - Src: "com.netflix.servo.monitor.ContextualTimer:48,1"
      Dst: "[com.netflix.servo.monitor.TimedStopwatch].<init>(com.netflix.servo.monitor.Timer)"
    - Src: "com.netflix.servo.monitor.ContextualTimer:49,1"
      Dst: "[com.netflix.servo.monitor.Stopwatch].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicStopwatch].<init>()"
    functionSourceFile: "com.netflix.servo.monitor.BasicStopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    - "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicStopwatch:25,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.monitor.BasicStopwatch:26,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    - Src: "com.netflix.servo.monitor.BasicStopwatch:28,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.ContextualTimer].getTimeUnit()"
    functionSourceFile: "com.netflix.servo.monitor.ContextualTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.concurrent.TimeUnit"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitorForCurrentContext()"
    - "[com.netflix.servo.monitor.Timer].getTimeUnit()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.ContextualTimer:58,1"
      Dst: "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitorForCurrentContext()"
    - Src: "com.netflix.servo.monitor.ContextualTimer:58,1"
      Dst: "[com.netflix.servo.monitor.Timer].getTimeUnit()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.ContextualTimer].record(long)"
    functionSourceFile: "com.netflix.servo.monitor.ContextualTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitorForCurrentContext()"
    - "[com.netflix.servo.monitor.Timer].getTimeUnit()"
    - "[com.netflix.servo.monitor.Timer].record(long,java.util.concurrent.TimeUnit)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.ContextualTimer:67,1"
      Dst: "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitorForCurrentContext()"
    - Src: "com.netflix.servo.monitor.ContextualTimer:68,1"
      Dst: "[com.netflix.servo.monitor.Timer].getTimeUnit()"
    - Src: "com.netflix.servo.monitor.ContextualTimer:68,1"
      Dst: "[com.netflix.servo.monitor.Timer].record(long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.ContextualTimer].record(long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.ContextualTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitorForCurrentContext()"
    - "[com.netflix.servo.monitor.Timer].record(long,java.util.concurrent.TimeUnit)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.ContextualTimer:76,1"
      Dst: "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitorForCurrentContext()"
    - Src: "com.netflix.servo.monitor.ContextualTimer:76,1"
      Dst: "[com.netflix.servo.monitor.Timer].record(long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.ContextualTimer].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.ContextualTimer"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionDepth: 0
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitorForCurrentContext()"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getValue()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    - "[com.netflix.servo.monitor.StatsMonitor].getValue()"
    - "[com.netflix.servo.monitor.Monitor].getValue()"
    functionUses: 2
    ICount: 7
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.ContextualTimer:84,1"
      Dst: "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitorForCurrentContext()"
    - Src: "com.netflix.servo.monitor.ContextualTimer:84,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.Reflection].<init>()"
    functionSourceFile: "com.netflix.servo.util.Reflection"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.Reflection:30,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.Reflection].getAllFields(java.lang.Class<?>)"
    functionSourceFile: "com.netflix.servo.util.Reflection"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionDepth: 0
    returnType: "java.util.Set<Field>"
    argCount: 1
    argTypes:
    - "java.lang.Class<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashSet].<init>()"
    - "[java.util.AbstractCollection].addAll(java.util.Collection)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.lang.Class].getDeclaredFields()"
    - "[java.lang.Class].getSuperclass()"
    - "[java.util.Set].addAll(java.util.Collection)"
    functionUses: 2
    ICount: 11
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.Reflection:42"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Reflection:46"
        BranchSideFuncs:
        - "getSuperclass()"
        - "addAll(java.util.Collection)"
        - "asList(java.lang.Object[])"
        - "getDeclaredFields()"
      - BranchSide: "com.netflix.servo.util.Reflection:45"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.Reflection:40,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "com.netflix.servo.util.Reflection:43,1"
      Dst: "[java.lang.Class].getDeclaredFields()"
    - Src: "com.netflix.servo.util.Reflection:43,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "com.netflix.servo.util.Reflection:43,1"
      Dst: "[java.util.Set].addAll(java.util.Collection)"
    - Src: "com.netflix.servo.util.Reflection:44,1"
      Dst: "[java.lang.Class].getSuperclass()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.util.Reflection].getAllMethods(java.lang.Class<?>)"
    functionSourceFile: "com.netflix.servo.util.Reflection"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionDepth: 0
    returnType: "java.util.Set<Method>"
    argCount: 1
    argTypes:
    - "java.lang.Class<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashSet].<init>()"
    - "[java.util.AbstractCollection].addAll(java.util.Collection)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.lang.Class].getDeclaredMethods()"
    - "[java.lang.Class].getSuperclass()"
    - "[java.util.Set].addAll(java.util.Collection)"
    functionUses: 1
    ICount: 11
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.Reflection:58"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Reflection:62"
        BranchSideFuncs:
        - "getDeclaredMethods()"
        - "getSuperclass()"
        - "addAll(java.util.Collection)"
        - "asList(java.lang.Object[])"
      - BranchSide: "com.netflix.servo.util.Reflection:61"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.Reflection:56,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "com.netflix.servo.util.Reflection:59,1"
      Dst: "[java.lang.Class].getDeclaredMethods()"
    - Src: "com.netflix.servo.util.Reflection:59,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "com.netflix.servo.util.Reflection:59,1"
      Dst: "[java.util.Set].addAll(java.util.Collection)"
    - Src: "com.netflix.servo.util.Reflection:60,1"
      Dst: "[java.lang.Class].getSuperclass()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.util.Reflection].getFieldsAnnotatedBy(java.lang.Class<?>,java.lang.Class<?\
      \ extends Annotation>)"
    functionSourceFile: "com.netflix.servo.util.Reflection"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionDepth: 0
    returnType: "java.util.Set<Field>"
    argCount: 2
    argTypes:
    - "java.lang.Class<?>"
    - "java.lang.Class<? extends Annotation>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashSet].<init>()"
    - "[com.netflix.servo.util.Reflection].getAllFields(java.lang.Class)"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.lang.reflect.AccessibleObject].isAnnotationPresent(java.lang.Class)"
    - "[java.util.HashSet].add(java.lang.Object)"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Set].add(java.lang.Object)"
    functionUses: 2
    ICount: 15
    EdgeCount: 207
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.Reflection:74"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Reflection:79"
        BranchSideFuncs:
        - "isAnnotationPresent(java.lang.Class)"
        - "hasNext()"
        - "iterator()"
        - "getAllFields(java.lang.Class)"
        - "next()"
      - BranchSide: "com.netflix.servo.util.Reflection:78"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.Reflection:75"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Reflection:78"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "com.netflix.servo.util.Reflection:77"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.Reflection:73,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "com.netflix.servo.util.Reflection:74,1"
      Dst: "[com.netflix.servo.util.Reflection].getAllFields(java.lang.Class)"
    - Src: "com.netflix.servo.util.Reflection:74,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.netflix.servo.util.Reflection:74,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.util.Reflection:74,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.util.Reflection:75,1"
      Dst: "[java.lang.reflect.AccessibleObject].isAnnotationPresent(java.lang.Class)"
    - Src: "com.netflix.servo.util.Reflection:76,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.util.Reflection].getMethodsAnnotatedBy(java.lang.Class<?>,java.lang.Class<?\
      \ extends Annotation>)"
    functionSourceFile: "com.netflix.servo.util.Reflection"
    linkageType: ""
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionDepth: 0
    returnType: "java.util.Set<Method>"
    argCount: 2
    argTypes:
    - "java.lang.Class<?>"
    - "java.lang.Class<? extends Annotation>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashSet].<init>()"
    - "[com.netflix.servo.util.Reflection].getAllMethods(java.lang.Class)"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.lang.reflect.AccessibleObject].isAnnotationPresent(java.lang.Class)"
    - "[java.util.HashSet].add(java.lang.Object)"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Set].add(java.lang.Object)"
    functionUses: 2
    ICount: 15
    EdgeCount: 207
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.Reflection:92"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Reflection:97"
        BranchSideFuncs:
        - "isAnnotationPresent(java.lang.Class)"
        - "getAllMethods(java.lang.Class)"
        - "hasNext()"
        - "iterator()"
        - "next()"
      - BranchSide: "com.netflix.servo.util.Reflection:96"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.Reflection:93"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Reflection:96"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "com.netflix.servo.util.Reflection:95"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.Reflection:91,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "com.netflix.servo.util.Reflection:92,1"
      Dst: "[com.netflix.servo.util.Reflection].getAllMethods(java.lang.Class)"
    - Src: "com.netflix.servo.util.Reflection:92,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.netflix.servo.util.Reflection:92,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.util.Reflection:92,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.util.Reflection:93,1"
      Dst: "[java.lang.reflect.AccessibleObject].isAnnotationPresent(java.lang.Class)"
    - Src: "com.netflix.servo.util.Reflection:94,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.google.common.collect.Iterables$5].<init>(java.lang.Iterable,int)"
    functionSourceFile: "com.google.common.collect.Iterables$5"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.FluentIterable].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$5:566,1"
      Dst: "[com.google.common.collect.FluentIterable].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$5].iterator()"
    functionSourceFile: "com.google.common.collect.Iterables$5"
    linkageType: ""
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[com.google.common.collect.Iterators].paddedPartition(java.util.Iterator,int)"
    - "[java.lang.Iterable].iterator()"
    functionUses: 56
    ICount: 6
    EdgeCount: 179
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$5:569,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables$5:569,1"
      Dst: "[com.google.common.collect.Iterators].paddedPartition(java.util.Iterator,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.InjectableTag].values()"
    functionSourceFile: "com.netflix.servo.tag.InjectableTag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.tag.InjectableTag[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.InjectableTag:27,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.InjectableTag].valueOf(java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.InjectableTag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.tag.InjectableTag"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.InjectableTag:27,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.InjectableTag].<init>(java.lang.String,int,java.lang.String,java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.InjectableTag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "int"
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.InjectableTag:41,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.InjectableTag].getKey()"
    functionSourceFile: "com.netflix.servo.tag.InjectableTag"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 15
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.InjectableTag].getValue()"
    functionSourceFile: "com.netflix.servo.tag.InjectableTag"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 13
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.InjectableTag].tagString()"
    functionSourceFile: "com.netflix.servo.tag.InjectableTag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.InjectableTag:67,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.tag.InjectableTag:67,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.tag.InjectableTag:67,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.InjectableTag].getHostName()"
    functionSourceFile: "com.netflix.servo.tag.InjectableTag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.InjectableTag].loadAddress()"
    - "[java.net.InetAddress].getHostName()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.InjectableTag:71"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.InjectableTag:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.tag.InjectableTag:71,1"
      Dst: "[com.netflix.servo.tag.InjectableTag].loadAddress()"
    - Src: "com.netflix.servo.tag.InjectableTag:71,1"
      Dst: "[java.net.InetAddress].getHostName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.InjectableTag].loadAddress()"
    functionSourceFile: "com.netflix.servo.tag.InjectableTag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.net.InetAddress"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.net.InetAddress].getLocalHost()"
    - "[org.slf4j.LoggerFactory].getLogger(java.lang.Class)"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.InjectableTag:80,1"
      Dst: "[java.net.InetAddress].getLocalHost()"
    - Src: "com.netflix.servo.tag.InjectableTag:82,1"
      Dst: "[org.slf4j.LoggerFactory].getLogger(java.lang.Class)"
    - Src: "com.netflix.servo.tag.InjectableTag:82,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.InjectableTag].getIp()"
    functionSourceFile: "com.netflix.servo.tag.InjectableTag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.InjectableTag].loadAddress()"
    - "[java.net.InetAddress].getHostAddress()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.InjectableTag:75"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.InjectableTag:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.tag.InjectableTag:75,1"
      Dst: "[com.netflix.servo.tag.InjectableTag].loadAddress()"
    - Src: "com.netflix.servo.tag.InjectableTag:75,1"
      Dst: "[java.net.InetAddress].getHostAddress()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.InjectableTag].$values()"
    functionSourceFile: "com.netflix.servo.tag.InjectableTag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.tag.InjectableTag[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$9].<init>(java.util.List,int)"
    functionSourceFile: "com.google.common.collect.Iterables$9"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.FluentIterable].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$9:846,1"
      Dst: "[com.google.common.collect.FluentIterable].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$9].iterator()"
    functionSourceFile: "com.google.common.collect.Iterables$9"
    linkageType: ""
    functionLinenumber: 849
    functionLinenumberEnd: 852
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].min(int,int)"
    - "[com.google.common.collect.Lists$StringAsImmutableList].size()"
    - "[com.google.common.collect.LinkedListMultimap$4].size()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].size()"
    - "[com.google.common.collect.LinkedListMultimap$1].size()"
    - "[com.google.common.collect.Lists$AbstractListWrapper].size()"
    - "[com.google.common.collect.Sets$CartesianSet$1].size()"
    - "[com.google.common.base.Joiner$3].size()"
    - "[com.google.common.collect.ImmutableRangeMap$1].size()"
    - "[com.google.common.collect.ForwardingCollection].size()"
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].size()"
    - "[com.google.common.collect.ImmutableAsList].size()"
    - "[com.google.common.collect.CartesianList$1].size()"
    - "[com.google.common.collect.Lists$CharSequenceAsList].size()"
    - "[com.google.common.collect.Lists$Partition].size()"
    - "[com.google.common.collect.Lists$ReverseList].size()"
    - "[com.google.common.collect.RegularImmutableTable$Values].size()"
    - "[com.google.common.collect.CartesianList].size()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].size()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].size()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].size()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].size()"
    - "[com.google.common.collect.RegularImmutableList].size()"
    - "[java.util.LinkedList].size()"
    - "[com.google.common.collect.Lists$TransformingSequentialList].size()"
    - "[com.google.common.collect.SingletonImmutableList].size()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].size()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].size()"
    - "[java.util.ArrayList].size()"
    - "[com.google.common.collect.Lists$OnePlusArrayList].size()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].size()"
    - "[com.google.common.collect.LinkedListMultimap$3].size()"
    - "[com.google.common.collect.ImmutableList$SubList].size()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].size()"
    - "[com.google.common.collect.Lists$TwoPlusArrayList].size()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].size()"
    - "[sun.awt.util.IdentityArrayList].size()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].size()"
    - "[java.util.Vector].size()"
    - "[com.google.common.collect.ImmutableRangeSet$ComplementRanges].size()"
    - "[com.google.common.collect.ImmutableRangeSet$1].size()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].subList(int,int)"
    - "[com.google.common.collect.ForwardingList].subList(int,int)"
    - "[com.google.common.collect.ImmutableList$SubList].subList(int,int)"
    - "[java.util.AbstractList].subList(int,int)"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].subList(int,int)"
    - "[java.util.concurrent.CopyOnWriteArrayList].subList(int,int)"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].subList(int,int)"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].subList(int,int)"
    - "[com.google.common.collect.SingletonImmutableList].subList(int,int)"
    - "[com.google.common.collect.Lists$ReverseList].subList(int,int)"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].subList(int,int)"
    - "[com.google.common.primitives.Ints$IntArrayAsList].subList(int,int)"
    - "[com.google.common.collect.ImmutableList].subList(int,int)"
    - "[com.google.common.collect.Constraints$ConstrainedList].subList(int,int)"
    - "[com.google.common.collect.Lists$StringAsImmutableList].subList(int,int)"
    - "[com.google.common.primitives.Chars$CharArrayAsList].subList(int,int)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedList].subList(int,int)"
    - "[com.google.common.collect.Synchronized$SynchronizedList].subList(int,int)"
    - "[java.util.Vector].subList(int,int)"
    - "[com.google.common.primitives.Longs$LongArrayAsList].subList(int,int)"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].subList(int,int)"
    - "[java.util.ArrayList].subList(int,int)"
    - "[java.util.List].size()"
    - "[java.util.List].subList(int,int)"
    - "[java.util.List].iterator()"
    functionUses: 56
    ICount: 11
    EdgeCount: 119
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$9:850,1"
      Dst: "[java.util.List].size()"
    - Src: "com.google.common.collect.Iterables$9:850,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.google.common.collect.Iterables$9:851,1"
      Dst: "[java.util.List].subList(int,int)"
    - Src: "com.google.common.collect.Iterables$9:851,1"
      Dst: "[java.util.List].iterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.PollCallable].<init>(com.netflix.servo.publish.MetricPoller,com.netflix.servo.publish.MetricFilter)"
    functionSourceFile: "com.netflix.servo.publish.PollCallable"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.publish.MetricPoller"
    - "com.netflix.servo.publish.MetricFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.PollCallable].<init>(com.netflix.servo.publish.MetricPoller,com.netflix.servo.publish.MetricFilter,boolean)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.PollCallable:39,1"
      Dst: "[com.netflix.servo.publish.PollCallable].<init>(com.netflix.servo.publish.MetricPoller,com.netflix.servo.publish.MetricFilter,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.PollCallable].<init>(com.netflix.servo.publish.MetricPoller,com.netflix.servo.publish.MetricFilter,boolean)"
    functionSourceFile: "com.netflix.servo.publish.PollCallable"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.publish.MetricPoller"
    - "com.netflix.servo.publish.MetricFilter"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.PollCallable:49,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.PollCallable].call()"
    functionSourceFile: "com.netflix.servo.publish.PollCallable"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.JvmMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    - "[com.netflix.servo.publish.BaseMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    - "[com.netflix.servo.publish.JmxMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    - "[com.netflix.servo.publish.MonitorRegistryMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    - "[com.netflix.servo.publish.CompositeMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    - "[com.netflix.servo.publish.MetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    functionUses: 4
    ICount: 6
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.PollCallable:59,1"
      Dst: "[com.netflix.servo.publish.MetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].<init>(com.netflix.servo.publish.JmxConnector,javax.management.ObjectName,com.netflix.servo.publish.MetricFilter)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.publish.JmxConnector"
    - "javax.management.ObjectName"
    - "com.netflix.servo.publish.MetricFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].singletonList(java.lang.Object)"
    - "[com.netflix.servo.publish.JmxMetricPoller].<init>(com.netflix.servo.publish.JmxConnector,java.util.List,com.netflix.servo.publish.MetricFilter,boolean,java.util.List)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:81,1"
      Dst: "[java.util.Collections].singletonList(java.lang.Object)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:81,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].<init>(com.netflix.servo.publish.JmxConnector,java.util.List,com.netflix.servo.publish.MetricFilter,boolean,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].<init>(com.netflix.servo.publish.JmxConnector,java.util.List,com.netflix.servo.publish.MetricFilter)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.publish.JmxConnector"
    - "java.util.List"
    - "com.netflix.servo.publish.MetricFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.JmxMetricPoller].<init>(com.netflix.servo.publish.JmxConnector,java.util.List,com.netflix.servo.publish.MetricFilter,boolean,java.util.List)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:95,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].<init>(com.netflix.servo.publish.JmxConnector,java.util.List,com.netflix.servo.publish.MetricFilter,boolean,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].<init>(com.netflix.servo.publish.JmxConnector,java.util.List,com.netflix.servo.publish.MetricFilter,boolean,java.util.List)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 5
    argTypes:
    - "com.netflix.servo.publish.JmxConnector"
    - "java.util.List"
    - "com.netflix.servo.publish.MetricFilter"
    - "boolean"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:113,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].createTagList(javax.management.ObjectName)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: 124
    functionLinenumberEnd: 137
    functionDepth: 4
    returnType: "com.netflix.servo.tag.TagList"
    argCount: 1
    argTypes:
    - "javax.management.ObjectName"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[javax.management.ObjectName].getKeyPropertyList()"
    - "[com.netflix.servo.tag.SmallTagMap].builder()"
    - "[java.util.Properties].entrySet()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.google.common.collect.Maps$10].getKey()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet$1$1].getKey()"
    - "[java.util.WeakHashMap$Entry].getKey()"
    - "[com.google.common.collect.ForwardingMapEntry].getKey()"
    - "[com.google.common.collect.LinkedListMultimap$Node].getKey()"
    - "[java.util.Hashtable$Entry].getKey()"
    - "[com.google.common.collect.TreeRangeMap$RangeMapEntry].getKey()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].getKey()"
    - "[com.google.common.collect.MapMakerInternalMap$WriteThroughEntry].getKey()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1$1$1].getKey()"
    - "[com.google.common.collect.StandardTable$Column$EntrySetIterator$1].getKey()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].getKey()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].getKey()"
    - "[com.google.common.cache.RemovalNotification].getKey()"
    - "[java.util.TreeMap$Entry].getKey()"
    - "[com.google.common.collect.ImmutableEntry].getKey()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1$1].getKey()"
    - "[com.google.common.collect.HashBiMap$EntrySet$1$MapEntry].getKey()"
    - "[com.google.common.collect.Maps$6].getKey()"
    - "[com.google.common.collect.HashBiMap$Inverse$1$1$InverseEntry].getKey()"
    - "[java.util.HashMap$Node].getKey()"
    - "[java.lang.StringBuilder].toString()"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    - "[java.util.TreeMap$Entry].getValue()"
    - "[com.google.common.collect.StandardTable$Column$EntrySetIterator$1].getValue()"
    - "[com.google.common.collect.HashBiMap$EntrySet$1$MapEntry].getValue()"
    - "[com.google.common.collect.MapMakerInternalMap$WriteThroughEntry].getValue()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1$1$1].getValue()"
    - "[com.google.common.collect.ForwardingMapEntry].getValue()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].getValue()"
    - "[com.google.common.collect.ImmutableEntry].getValue()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1$1].getValue()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].getValue()"
    - "[com.google.common.collect.HashBiMap$Inverse$1$1$InverseEntry].getValue()"
    - "[com.google.common.collect.Maps$6].getValue()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet$1$1].getValue()"
    - "[com.google.common.collect.TreeRangeMap$RangeMapEntry].getValue()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].getValue()"
    - "[java.util.Hashtable$Entry].getValue()"
    - "[java.util.HashMap$Node].getValue()"
    - "[com.google.common.collect.Maps$10].getValue()"
    - "[com.google.common.collect.MapConstraints$2].getValue()"
    - "[com.google.common.collect.LinkedListMultimap$Node].getValue()"
    - "[com.google.common.cache.RemovalNotification].getValue()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1$1].getValue()"
    - "[java.util.WeakHashMap$Entry].getValue()"
    - "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - "[javax.management.ObjectName].getDomain()"
    - "[com.netflix.servo.publish.JmxMetricPoller$add__63].bootstrap$(com.netflix.servo.tag.SmallTagMap$Builder)"
    - "[java.util.ArrayList].forEach(java.util.function.Consumer)"
    - "[java.util.concurrent.CopyOnWriteArrayList].forEach(java.util.function.Consumer)"
    - "[java.lang.Iterable].forEach(java.util.function.Consumer)"
    - "[java.util.Vector].forEach(java.util.function.Consumer)"
    - "[java.util.Objects].requireNonNull(java.lang.Object)"
    - "[com.netflix.servo.tag.BasicTagList].<init>(com.netflix.servo.tag.SmallTagMap)"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map$Entry].getValue()"
    functionUses: 1
    ICount: 37
    EdgeCount: 268
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:127"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:131"
        BranchSideFuncs:
        - "hasNext()"
        - "append(java.lang.String)"
        - "toString()"
        - "getValue()"
        - "next()"
        - "iterator()"
        - "<init>()"
        - "entrySet()"
        - "getKey()"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:130"
        BranchSideFuncs:
        - "add(com.netflix.servo.tag.Tag)"
        - "newTag(java.lang.String,java.lang.String)"
        - "getDomain()"
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:133"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:136"
        BranchSideFuncs:
        - "bootstrap$(com.netflix.servo.tag.SmallTagMap$Builder)"
        - "requireNonNull(java.lang.Object)"
        - "forEach(java.util.function.Consumer)"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:135"
        BranchSideFuncs:
        - "result()"
        - "<init>(com.netflix.servo.tag.SmallTagMap)"
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:125,1"
      Dst: "[javax.management.ObjectName].getKeyPropertyList()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:126,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].builder()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:127,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:127,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:127,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:127,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:128,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:128,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:128,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:128,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:129,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:129,1"
      Dst: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:129,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:131,1"
      Dst: "[javax.management.ObjectName].getDomain()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:134,1"
      Dst: "[java.util.Objects].requireNonNull(java.lang.Object)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:134,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller$add__63].bootstrap$(com.netflix.servo.tag.SmallTagMap$Builder)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:134,1"
      Dst: "[java.lang.Iterable].forEach(java.util.function.Consumer)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:136,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:136,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].<init>(com.netflix.servo.tag.SmallTagMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.tag.SmallTagMap].builder()"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 2
    returnType: "com.netflix.servo.tag.SmallTagMap$Builder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap$Builder].<init>(int)"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap:51,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].<init>(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap$Builder].<init>(int)"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$Builder"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].init(int)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:73,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:74,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].init(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap$Builder].init(int)"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$Builder"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$Builder"
    linkageType: ""
    functionLinenumber: 113
    functionLinenumberEnd: 139
    functionDepth: 2
    returnType: "com.netflix.servo.tag.SmallTagMap$Builder"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.Tag"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.annotations.DataSourceType].getKey()"
    - "[com.netflix.servo.tag.BasicTag].getKey()"
    - "[com.google.common.base.Absent:com.google.common.base.Predicates$AssignableFromPredicate:com.google.common.base.Predicates$InstanceOfPredicate:com.google.common.cache.CacheStats:com.google.common.collect.Count:com.google.common.collect.ImmutableEnumSet:com.google.common.hash.Murmur3_128HashFunction:com.google.common.hash.Murmur3_32HashFunction:com.google.common.hash.SipHashFunction:com.google.common.primitives.UnsignedInteger:com.google.common.primitives.UnsignedLong:java.awt.AWTKeyStroke:java.awt.AlphaComposite:java.awt.BasicStroke:java.awt.Color:java.awt.Dimension:java.awt.DisplayMode:java.awt.Font:java.awt.Insets:java.awt.JobAttributes:java.awt.MenuShortcut:java.awt.PageAttributes:java.awt.Point:java.awt.Rectangle:java.awt.RenderingHints:java.awt.RenderingHints$Key:java.awt.datatransfer.DataFlavor:java.awt.datatransfer.MimeType:java.awt.datatransfer.MimeTypeParameterList:java.awt.font.FontRenderContext:java.awt.font.NumericShaper:java.awt.font.TextHitInfo:java.awt.font.TransformAttribute:java.awt.geom.AffineTransform:java.awt.geom.Point2D:java.awt.geom.Rectangle2D:java.awt.image.ColorModel:java.awt.image.IndexColorModel:java.beans.IndexedPropertyDescriptor:java.beans.PropertyDescriptor:java.io.FilePermission:java.lang.Character$Subset:java.lang.Enum:java.lang.Math:java.lang.Object:java.lang.ProcessBuilder$Redirect:java.lang.ProcessHandleImpl:java.lang.Runtime$Version:java.lang.StackTraceElement:java.lang.Thread$WeakClassKey:java.lang.invoke.ClassSpecializer$SpeciesData:java.lang.invoke.LambdaForm:java.lang.invoke.LambdaForm$Name:java.lang.invoke.LambdaForm$NamedFunction:java.lang.invoke.LambdaFormEditor$Transform:java.lang.invoke.MemberName:java.lang.invoke.MethodType:java.lang.invoke.StringConcatFactory$Key:java.lang.invoke.StringConcatFactory$Recipe:java.lang.invoke.StringConcatFactory$RecipeElement:java.lang.module.ModuleDescriptor:java.lang.module.ModuleDescriptor$Exports:java.lang.module.ModuleDescriptor$Opens:java.lang.module.ModuleDescriptor$Provides:java.lang.module.ModuleDescriptor$Requires:java.lang.module.ModuleDescriptor$Version:java.lang.module.ResolvedModule:java.lang.reflect.Constructor:java.lang.reflect.Field:java.lang.reflect.Method:java.lang.reflect.Parameter:java.math.BigDecimal:java.math.BigInteger:java.math.MathContext:java.net.HttpCookie:java.net.Inet4Address:java.net.Inet6Address:java.net.Inet6Address$Inet6AddressHolder:java.net.InetAddress:java.net.InterfaceAddress:java.net.NetworkInterface:java.net.Proxy:java.net.SocketPermission:java.net.URI:java.net.URL:java.nio.ByteBuffer:java.nio.CharBuffer:java.nio.DoubleBuffer:java.nio.FloatBuffer:java.nio.IntBuffer:java.nio.LongBuffer:java.nio.ShortBuffer:java.nio.charset.Charset:java.nio.file.attribute.FileTime:java.security.AccessControlContext:java.security.AllPermission:java.security.BasicPermission:java.security.CodeSigner:java.security.CodeSource:java.security.Provider$ServiceKey:java.security.Timestamp:java.security.cert.CertPath:java.security.cert.Certificate:java.text.AttributedCharacterIterator$Attribute:java.text.Collator:java.text.DateFormat:java.text.DateFormatSymbols:java.text.DecimalFormat:java.text.DecimalFormatSymbols:java.text.DigitList:java.text.FieldPosition:java.text.MessageFormat:java.text.NumberFormat:java.text.ParsePosition:java.text.SimpleDateFormat:java.text.StringCharacterIterator:java.time.Clock:java.time.Duration:java.time.Instant:java.time.LocalDate:java.time.LocalDateTime:java.time.LocalTime:java.time.OffsetDateTime:java.time.OffsetTime:java.time.Period:java.time.ZoneId:java.time.ZoneOffset:java.time.ZonedDateTime:java.time.chrono.AbstractChronology:java.time.format.DecimalStyle:java.time.temporal.ValueRange:java.time.zone.ZoneOffsetTransition:java.time.zone.ZoneOffsetTransitionRule:java.time.zone.ZoneRules:java.util.AbstractList:java.util.AbstractMap:java.util.AbstractSet:java.util.ArrayList:java.util.BitSet:java.util.Calendar:java.util.Date:java.util.EnumMap:java.util.GregorianCalendar:java.util.HashMap$Node:java.util.Hashtable:java.util.Hashtable$Entry:java.util.IdentityHashMap:java.util.Locale:java.util.Optional:java.util.OptionalDouble:java.util.OptionalInt:java.util.OptionalLong:java.util.Properties:java.util.PropertyPermission:java.util.ResourceBundle$CacheKey:java.util.TreeMap$Entry:java.util.UUID:java.util.Vector:java.util.WeakHashMap$Entry:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView:java.util.concurrent.ConcurrentHashMap$Node:java.util.concurrent.CopyOnWriteArrayList:java.util.concurrent.CopyOnWriteArraySet:java.util.jar.Attributes:java.util.jar.Attributes$Name:java.util.jar.Manifest:java.util.logging.Level:java.util.logging.LogManager$CloseOnReset:java.util.zip.ZipFile$Source$Key:javax.crypto.CryptoPermission:javax.management.Attribute:javax.management.MBeanAttributeInfo:javax.management.MBeanConstructorInfo:javax.management.MBeanFeatureInfo:javax.management.MBeanInfo:javax.management.MBeanNotificationInfo:javax.management.MBeanOperationInfo:javax.management.MBeanParameterInfo:javax.management.ObjectInstance:javax.management.ObjectName:javax.management.openmbean.CompositeType:javax.management.openmbean.TabularType:javax.print.DocFlavor:javax.print.MimeType:javax.security.auth.Subject:javax.swing.text.DefaultCaret:javax.swing.text.SimpleAttributeSet:javax.swing.text.StyleContext$FontKey:javax.swing.text.StyleContext$SmallAttributeSet:javax.swing.text.TabSet:javax.swing.text.TabStop:javax.swing.tree.TreePath:jdk.internal.org.objectweb.asm.Type:sun.font.AttributeValues:sun.font.CoreMetrics:sun.font.FontLineMetrics:sun.font.FontStrikeDesc:sun.java2d.loops.CompositeType:sun.java2d.loops.SurfaceType:sun.java2d.pipe.Region:sun.nio.ch.FileKey:sun.nio.fs.UnixFileStore:sun.nio.fs.UnixPath:sun.util.calendar.CalendarDate:sun.util.calendar.Era:sun.util.locale.BaseLocale:sun.util.locale.BaseLocale$Key:sun.util.locale.LocaleExtensions].abs(long)"
    - "[java.lang.String].hashCode()"
    - "[com.google.common.net.HostAndPort].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingTable].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.PositiveLookaheadMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.Maps$MapDifferenceImpl].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.SortedTagList].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MinGauge].equals(java.lang.Object)"
    - "[java.lang.Byte].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.nodes.Node].equals(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedSet].equals(java.lang.Object)"
    - "[com.google.common.reflect.TypeParameter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.LongGauge].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableRangeSet].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeMultiset].equals(java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsTimer].equals(java.lang.Object)"
    - "[com.netflix.servo.stats.StatsConfig].equals(java.lang.Object)"
    - "[com.google.common.collect.ByFunctionOrdering].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$SupplierFunction].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$ForMapWithDefault].equals(java.lang.Object)"
    - "[com.google.common.base.Suppliers$SupplierOfInstance].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BucketTimer].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableList].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeBasedTable].equals(java.lang.Object)"
    - "[com.netflix.spectator.api.DefaultId].equals(java.lang.Object)"
    - "[com.google.common.collect.Cut].equals(java.lang.Object)"
    - "[com.google.common.collect.ExplicitOrdering].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicCounter].equals(java.lang.Object)"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableSet].equals(java.lang.Object)"
    - "[com.google.common.primitives.Longs$LongArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$ContainsPatternPredicate].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.IgnoreCaseMatcher].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.AsciiSet].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$ConstantFunction].equals(java.lang.Object)"
    - "[com.google.common.net.HostSpecifier].equals(java.lang.Object)"
    - "[org.slf4j.helpers.BasicMarker].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractTable].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DurationTimer].equals(java.lang.Object)"
    - "[java.lang.Double].equals(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].equals(java.lang.Object)"
    - "[com.google.common.collect.ReverseOrdering].equals(java.lang.Object)"
    - "[java.lang.Long].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$NotPredicate].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedSet].equals(java.lang.Object)"
    - "[java.lang.Short].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableTable].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapEntry].equals(java.lang.Object)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].equals(java.lang.Object)"
    - "[bsh.BshClassManager$SignatureKey].equals(java.lang.Object)"
    - "[com.google.common.reflect.ClassPath$ResourceInfo].equals(java.lang.Object)"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.reflect.TypeToken].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractListMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractRangeSet].equals(java.lang.Object)"
    - "[org.testng.internal.ConstructorOrMethod].equals(java.lang.Object)"
    - "[com.google.common.hash.Funnels$StringCharsetFunnel].equals(java.lang.Object)"
    - "[com.google.common.collect.Maps$UnmodifiableEntrySet].equals(java.lang.Object)"
    - "[com.netflix.spectator.api.BasicTag].equals(java.lang.Object)"
    - "[com.netflix.servo.Metric].equals(java.lang.Object)"
    - "[com.google.common.collect.Range].equals(java.lang.Object)"
    - "[org.testng.xml.XmlSuite].equals(java.lang.Object)"
    - "[org.testng.remote.strprotocol.TestResultMessage].equals(java.lang.Object)"
    - "[com.google.common.base.Converter$ConverterComposition].equals(java.lang.Object)"
    - "[com.google.common.cache.CacheBuilderSpec].equals(java.lang.Object)"
    - "[com.netflix.servo.util.ExpiringCache$Entry].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].equals(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableSortedSet].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMultimap].equals(java.lang.Object)"
    - "[com.google.common.eventbus.EventSubscriber].equals(java.lang.Object)"
    - "[com.google.common.reflect.Types$TypeVariableImpl].equals(java.lang.Object)"
    - "[com.google.common.reflect.Types$WildcardTypeImpl].equals(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntrySet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].equals(java.lang.Object)"
    - "[com.google.common.collect.CompoundOrdering].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BucketConfig].equals(java.lang.Object)"
    - "[com.google.common.reflect.Parameter].equals(java.lang.Object)"
    - "[com.google.common.collect.Interners$InternerFunction].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableRangeMap].equals(java.lang.Object)"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMultimap].equals(java.lang.Object)"
    - "[com.google.common.base.Enums$StringConverter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleGauge].equals(java.lang.Object)"
    - "[com.google.common.base.CaseFormat$StringConverter].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$AsRanges].equals(java.lang.Object)"
    - "[org.testng.internal.annotations.JDK15AnnotationFinder$Pair].equals(java.lang.Object)"
    - "[com.google.common.reflect.Element].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MaxGauge].equals(java.lang.Object)"
    - "[com.google.common.collect.GeneralRange].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.nodes.Tag].equals(java.lang.Object)"
    - "[com.google.common.collect.Sets$PowerSet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.NumberGauge].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedList].equals(java.lang.Object)"
    - "[com.google.common.hash.BloomFilter].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.StartsWithMatcher].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicGauge].equals(java.lang.Object)"
    - "[com.google.common.collect.HashBasedTable].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$OrPredicate].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicTimer].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.BasicTag].equals(java.lang.Object)"
    - "[com.google.common.collect.LinkedHashMultimap].equals(java.lang.Object)"
    - "[com.netflix.servo.util.ManualClock].equals(java.lang.Object)"
    - "[org.testng.xml.XmlClass].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$CompositionPredicate].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$PredicateFunction].equals(java.lang.Object)"
    - "[com.google.common.collect.HashMultiset].equals(java.lang.Object)"
    - "[com.google.common.base.PairwiseEquivalence].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingList].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.SeqMatcher].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.OrMatcher].equals(java.lang.Object)"
    - "[java.lang.Integer].equals(java.lang.Object)"
    - "[com.google.common.collect.NullsLastOrdering].equals(java.lang.Object)"
    - "[com.google.common.collect.EmptyContiguousSet].equals(java.lang.Object)"
    - "[com.google.common.reflect.AbstractInvocationHandler].equals(java.lang.Object)"
    - "[com.google.common.collect.LinkedHashMultiset].equals(java.lang.Object)"
    - "[com.google.common.base.Equivalence$EquivalentToPredicate].equals(java.lang.Object)"
    - "[com.google.common.eventbus.AnnotatedSubscriberFinder$MethodIdentifier].equals(java.lang.Object)"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$FunctionForMapNoDefault].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.tokens.Token].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMultiset].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleCounter].equals(java.lang.Object)"
    - "[org.testng.xml.XmlPackage].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMultiset].equals(java.lang.Object)"
    - "[com.google.common.base.Enums$ValueOfFunction].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.CharClassMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.Multisets$AbstractEntry].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].equals(java.lang.Object)"
    - "[com.google.common.reflect.Invokable].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.CharSeqMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$InPredicate].equals(java.lang.Object)"
    - "[com.google.common.net.InternetDomainName].equals(java.lang.Object)"
    - "[com.google.common.collect.LinkedListMultimap].equals(java.lang.Object)"
    - "[java.io.File].equals(java.lang.Object)"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].equals(java.lang.Object)"
    - "[com.netflix.spectator.api.Measurement].equals(java.lang.Object)"
    - "[com.google.common.hash.Funnels$SequentialFunnel].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsMonitor].equals(java.lang.Object)"
    - "[com.google.common.collect.ConcurrentHashMultiset].equals(java.lang.Object)"
    - "[bsh.Primitive].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.EnumMultiset].equals(java.lang.Object)"
    - "[org.testng.xml.XmlInclude].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].equals(java.lang.Object)"
    - "[com.google.common.collect.ArrayTable].equals(java.lang.Object)"
    - "[com.google.common.collect.Maps$ValueDifferenceImpl].equals(java.lang.Object)"
    - "[com.google.common.collect.ArrayListMultimap].equals(java.lang.Object)"
    - "[com.google.common.reflect.Types$GenericArrayTypeImpl].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.ZeroOrOneMatcher].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.IndexOfMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableSet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AnnotatedStringMonitor].equals(java.lang.Object)"
    - "[com.google.common.base.Present].equals(java.lang.Object)"
    - "[com.google.common.base.Converter].equals(java.lang.Object)"
    - "[com.google.common.hash.Hashing$ConcatenatedHashFunction].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.events.Event].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.BasicTagList].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$IsEqualToPredicate].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorWrapper].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMultiset].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractSetMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].equals(java.lang.Object)"
    - "[com.google.common.base.Converter$ReverseConverter].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleReferenceImpl].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.SmallTagMap].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMultimap$EntrySet].equals(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSet].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.NegativeLookaheadMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.Sets$CartesianSet].equals(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].equals(java.lang.Object)"
    - "[com.google.common.net.MediaType].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet].equals(java.lang.Object)"
    - "[com.google.common.collect.ComparatorOrdering].equals(java.lang.Object)"
    - "[java.lang.Float].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicInformational].equals(java.lang.Object)"
    - "[com.google.common.collect.NullsFirstOrdering].equals(java.lang.Object)"
    - "[com.google.common.collect.LexicographicalOrdering].equals(java.lang.Object)"
    - "[com.google.common.collect.Maps$BiMapConverter].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.ZeroOrMoreMatcher].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Handle].equals(java.lang.Object)"
    - "[com.google.common.reflect.Types$ParameterizedTypeImpl].equals(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableList].equals(java.lang.Object)"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].equals(java.lang.Object)"
    - "[com.google.common.collect.Tables$AbstractCell].equals(java.lang.Object)"
    - "[java.lang.Character].equals(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1$1].equals(java.lang.Object)"
    - "[java.lang.Boolean].equals(java.lang.Object)"
    - "[org.testng.xml.XmlMethodSelector].equals(java.lang.Object)"
    - "[com.google.common.collect.HashMultimap].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.RepeatMatcher].equals(java.lang.Object)"
    - "[org.testng.xml.XmlTest].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMultiset].equals(java.lang.Object)"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap$WriteThroughEntry].equals(java.lang.Object)"
    - "[com.google.common.base.FunctionalEquivalence].equals(java.lang.Object)"
    - "[com.google.common.hash.HashCode].equals(java.lang.Object)"
    - "[jdk.internal.misc.Signal].equals(java.lang.Object)"
    - "[com.google.common.base.Suppliers$SupplierComposition].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$FunctionComposition].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMapEntry].equals(java.lang.Object)"
    - "[com.google.common.primitives.Ints$IntArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].equals(java.lang.Object)"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.cache.RemovalNotification].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsMonitor$LongGaugeWrapper].equals(java.lang.Object)"
    - "[com.google.common.collect.Sets$FilteredSet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].equals(java.lang.Object)"
    - "[com.google.common.base.Equivalence$Wrapper].equals(java.lang.Object)"
    - "[com.google.common.primitives.Chars$CharArrayAsList].equals(java.lang.Object)"
    - "[com.netflix.spectator.api.ArrayTagSet].equals(java.lang.Object)"
    - "[org.testng.internal.BaseTestMethod].equals(java.lang.Object)"
    - "[com.google.common.collect.FilteredKeySetMultimap$EntrySet].equals(java.lang.Object)"
    - "[jdk.internal.jimage.ImageReader$Node].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$AndPredicate].equals(java.lang.Object)"
    - "[com.google.common.hash.BloomFilterStrategies$BitArray].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleHashes].equals(java.lang.Object)"
    - "[com.google.common.collect.RegularContiguousSet].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingSet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.PeakRateCounter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StepCounter].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].resizeIfPossible(com.netflix.servo.tag.Tag)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    - "[com.netflix.servo.tag.Tag].getKey()"
    - "[java.lang.Math].abs(long)"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 11
    ICount: 54
    EdgeCount: 239
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SmallTagMap$Builder:118"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:127"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:126"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.tag.SmallTagMap$Builder:118"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:127"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:126"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.tag.SmallTagMap$Builder:120"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:124"
        BranchSideFuncs:
        - "resizeIfPossible(com.netflix.servo.tag.Tag)"
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:123"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.tag.SmallTagMap$Builder:127"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:131"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:130"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.tag.SmallTagMap$Builder:131"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:134"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:133"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:114,1"
      Dst: "[com.netflix.servo.tag.Tag].getKey()"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:115,1"
      Dst: "[java.lang.String].hashCode()"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:115,1"
      Dst: "[java.lang.Math].abs(long)"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:118,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:121,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].resizeIfPossible(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:132,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.tag.SmallTagMap$Builder].resizeIfPossible(com.netflix.servo.tag.Tag)"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$Builder"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.Tag"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap$Builder].init(int)"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.netflix.servo.tag.SmallTagMap].access$000()"
    - "[org.slf4j.event.EventRecodingLogger].error(java.lang.String)"
    - "[org.slf4j.helpers.SubstituteLogger].error(java.lang.String)"
    - "[org.slf4j.helpers.NOPLogger].error(java.lang.String)"
    - "[org.slf4j.Logger].error(java.lang.String)"
    functionUses: 1
    ICount: 27
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SmallTagMap$Builder:92"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:103"
        BranchSideFuncs:
        - "init(int)"
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:102"
        BranchSideFuncs:
        - "access$000()"
        - "format(java.lang.String,java.lang.Object[])"
        - "valueOf(int)"
        - "error(java.lang.String)"
    - Branch String: "com.netflix.servo.tag.SmallTagMap$Builder:95"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:101"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:100"
        BranchSideFuncs:
        - "add(com.netflix.servo.tag.Tag)"
    - Branch String: "com.netflix.servo.tag.SmallTagMap$Builder:97"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:93"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:92"
        BranchSideFuncs:
        - "init(int)"
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:94,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].init(int)"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:98,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:105,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:103,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:106,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].access$000()"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:106,1"
      Dst: "[org.slf4j.Logger].error(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.tag.SmallTagMap].access$000()"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionDepth: 0
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller$add__63].bootstrap$(com.netflix.servo.tag.SmallTagMap$Builder)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller$add__63"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.Consumer"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.SmallTagMap$Builder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.JmxMetricPoller$add__63].<init>(com.netflix.servo.tag.SmallTagMap$Builder)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller$add__63:-1,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller$add__63].<init>(com.netflix.servo.tag.SmallTagMap$Builder)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller$add__63].<init>(com.netflix.servo.tag.SmallTagMap$Builder)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller$add__63"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.SmallTagMap$Builder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller$add__63:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$Builder"
    linkageType: ""
    functionLinenumber: 154
    functionLinenumberEnd: 173
    functionDepth: 2
    returnType: "com.netflix.servo.tag.SmallTagMap"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap$Builder$lambda_result_0__2].bootstrap$()"
    - "[java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    - "[java.lang.AssertionError].<init>()"
    - "[com.netflix.servo.tag.SmallTagMap].<init>(com.netflix.servo.tag.Tag[])"
    functionUses: 5
    ICount: 29
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SmallTagMap$Builder:158"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:164"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:163"
        BranchSideFuncs:
        - "sort(java.lang.Object[],java.util.Comparator)"
        - "<init>()"
        - "bootstrap$()"
    - Branch String: "com.netflix.servo.tag.SmallTagMap$Builder:160"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:155"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:154"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.tag.SmallTagMap$Builder:171"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:172"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.tag.Tag[])"
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:171"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.tag.Tag[])"
    - Branch String: "com.netflix.servo.tag.SmallTagMap$Builder:171"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:172"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.tag.Tag[])"
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:171"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.tag.Tag[])"
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:164,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder$lambda_result_0__2].bootstrap$()"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:164,1"
      Dst: "[java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:171,1"
      Dst: "[java.lang.AssertionError].<init>()"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:172,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].<init>(com.netflix.servo.tag.Tag[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.tag.SmallTagMap$Builder$lambda_result_0__2].bootstrap$()"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$Builder$lambda_result_0__2"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.Comparator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap$Builder$lambda_result_0__2].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder$lambda_result_0__2:-1,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder$lambda_result_0__2].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap$Builder$lambda_result_0__2].<init>()"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$Builder$lambda_result_0__2"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder$lambda_result_0__2:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap].<init>(com.netflix.servo.tag.Tag[])"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap"
    linkageType: ""
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.Tag[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap:212,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.tag.SmallTagMap:213,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTagList].<init>(com.netflix.servo.tag.SmallTagMap)"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.SmallTagMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 4
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:45,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].getTagListWithAdditionalTag(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionDepth: 4
    returnType: "com.netflix.servo.tag.TagList"
    argCount: 2
    argTypes:
    - "com.netflix.servo.tag.TagList"
    - "com.netflix.servo.tag.Tag"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.BasicTagList].<init>(com.netflix.servo.tag.SmallTagMap)"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].addAll(java.lang.Iterable)"
    - "[com.netflix.servo.tag.SmallTagMap].builder()"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    functionUses: 4
    ICount: 9
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:140,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].builder()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:140,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].addAll(java.lang.Iterable)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:140,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:140,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:140,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].<init>(com.netflix.servo.tag.SmallTagMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap$Builder].addAll(java.lang.Iterable)"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$Builder"
    linkageType: ""
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionDepth: 3
    returnType: "com.netflix.servo.tag.SmallTagMap$Builder"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 2
    ICount: 10
    EdgeCount: 326
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SmallTagMap$Builder:145"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:148"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "add(com.netflix.servo.tag.Tag)"
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:147"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:145,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:145,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:145,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:146,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].addMetric(java.util.List<Metric>,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionDepth: 7
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.util.List<Metric>"
    - "java.lang.String"
    - "com.netflix.servo.tag.TagList"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].currentTimeMillis()"
    - "[com.netflix.servo.publish.JmxMetricPoller].asNumber(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - "[com.netflix.servo.publish.RegexMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.publish.PrefixMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.publish.BasicMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.publish.JmxMetricPoller].getTagListWithAdditionalTag(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.Metric].<init>(java.lang.String,com.netflix.servo.tag.TagList,long,java.lang.Object)"
    - "[com.google.common.collect.ImmutableCollection].add(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].add(java.lang.Object)"
    - "[sun.awt.util.IdentityArrayList].add(java.lang.Object)"
    - "[javax.management.AttributeList].add(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].add(java.lang.Object)"
    - "[java.util.AbstractList].add(java.lang.Object)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[com.google.common.collect.ForwardingCollection].add(java.lang.Object)"
    - "[java.util.Vector].add(java.lang.Object)"
    - "[java.util.LinkedList].add(java.lang.Object)"
    - "[com.google.common.collect.FilteredKeyMultimap$AddRejectingList].add(java.lang.Object)"
    - "[com.google.common.collect.Constraints$ConstrainedList].add(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArrayList].add(java.lang.Object)"
    - "[com.netflix.servo.publish.MetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 3
    ICount: 25
    EdgeCount: 24
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:152"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:155"
        BranchSideFuncs:
        - "asNumber(java.lang.Object)"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:154"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:155"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:162"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:157"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:159"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:158"
        BranchSideFuncs:
        - "getTagListWithAdditionalTag(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag)"
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:151,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:153,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].asNumber(java.lang.Object)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:157,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:157,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:157,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:157,1"
      Dst: "[com.netflix.servo.publish.MetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:158,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].getTagListWithAdditionalTag(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:160,1"
      Dst: "[com.netflix.servo.Metric].<init>(java.lang.String,com.netflix.servo.tag.TagList,long,java.lang.Object)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:161,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].asNumber(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionDepth: 0
    returnType: "java.lang.Number"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Boolean].booleanValue()"
    - "[java.lang.Integer].valueOf(int)"
    functionUses: 1
    ICount: 19
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:257"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:259"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:258"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:259"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:261"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:260"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:261"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:264"
        BranchSideFuncs:
        - "booleanValue()"
        - "valueOf(int)"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:263"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:262"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:261"
        BranchSideFuncs:
        - "booleanValue()"
        - "valueOf(int)"
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:262,1"
      Dst: "[java.lang.Boolean].booleanValue()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:262,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 5
  - functionName: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig"
    linkageType: ""
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionDepth: 4
    returnType: "com.netflix.servo.monitor.MonitorConfig$Builder"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    functionUses: 38
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig:145,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig$Builder"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap].builder()"
    - "[com.netflix.servo.monitor.DefaultPublishingPolicy].getInstance()"
    - "[java.lang.Object].<init>()"
    functionUses: 7
    ICount: 9
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:56,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:41,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].builder()"
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:42,1"
      Dst: "[com.netflix.servo.monitor.DefaultPublishingPolicy].getInstance()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DefaultPublishingPolicy].getInstance()"
    functionSourceFile: "com.netflix.servo.monitor.DefaultPublishingPolicy"
    linkageType: ""
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionDepth: 0
    returnType: "com.netflix.servo.monitor.DefaultPublishingPolicy"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig$Builder"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionDepth: 3
    returnType: "com.netflix.servo.monitor.MonitorConfig$Builder"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator:com.google.common.collect.AbstractIndexedListIterator:com.google.common.collect.AbstractSequentialIterator:com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1:com.google.common.collect.Iterators$1:com.google.common.collect.Iterators$12:com.google.common.collect.Iterators$2:com.google.common.collect.LinkedListMultimap$ValueForKeyIterator:com.google.common.collect.MapMakerInternalMap$HashIterator:com.google.common.collect.Sets$SubSet$1:com.netflix.spectator.api.FilteredIterator:com.netflix.spectator.api.TagList$1:java.io.BufferedReader$1:java.nio.file.FileTreeIterator:java.nio.file.Files$2:java.util.concurrent.ArrayBlockingQueue$Itr:org.testng.internal.ArrayIterator].hasNext()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.tag.TagList].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 12
    ICount: 12
    EdgeCount: 129
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.MonitorConfig$Builder:80"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig$Builder:85"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig$Builder:84"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.MonitorConfig$Builder:81"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig$Builder:85"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "add(com.netflix.servo.tag.Tag)"
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig$Builder:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:81,1"
      Dst: "[com.netflix.servo.tag.TagList].iterator()"
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:81,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:81,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:82,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig$Builder"
    linkageType: ""
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionDepth: 5
    returnType: "com.netflix.servo.monitor.MonitorConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].<init>(com.netflix.servo.monitor.MonitorConfig$Builder,com.netflix.servo.monitor.MonitorConfig$1)"
    functionUses: 45
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:116,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].<init>(com.netflix.servo.monitor.MonitorConfig$Builder,com.netflix.servo.monitor.MonitorConfig$1)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig].<init>(com.netflix.servo.monitor.MonitorConfig$Builder,com.netflix.servo.monitor.MonitorConfig$1)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig$Builder"
    - "com.netflix.servo.monitor.MonitorConfig$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].<init>(com.netflix.servo.monitor.MonitorConfig$Builder)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig:34,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].<init>(com.netflix.servo.monitor.MonitorConfig$Builder)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig].<init>(com.netflix.servo.monitor.MonitorConfig$Builder)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig"
    linkageType: ""
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].<init>(int)"
    - "[java.lang.Object].<init>()"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].access$100(com.netflix.servo.monitor.MonitorConfig$Builder)"
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].access$200(com.netflix.servo.monitor.MonitorConfig$Builder)"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].isEmpty()"
    - "[com.netflix.servo.tag.BasicTagList].<init>(com.netflix.servo.tag.SmallTagMap)"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].access$300(com.netflix.servo.monitor.MonitorConfig$Builder)"
    functionUses: 1
    ICount: 25
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.MonitorConfig:163"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig:165"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig:164"
        BranchSideFuncs:
        - "result()"
        - "<init>(com.netflix.servo.tag.SmallTagMap)"
        - "access$200(com.netflix.servo.monitor.MonitorConfig$Builder)"
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig:161,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.monitor.MonitorConfig:155,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].<init>(int)"
    - Src: "com.netflix.servo.monitor.MonitorConfig:162,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].access$100(com.netflix.servo.monitor.MonitorConfig$Builder)"
    - Src: "com.netflix.servo.monitor.MonitorConfig:162,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.monitor.MonitorConfig:163,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].access$200(com.netflix.servo.monitor.MonitorConfig$Builder)"
    - Src: "com.netflix.servo.monitor.MonitorConfig:163,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].isEmpty()"
    - Src: "com.netflix.servo.monitor.MonitorConfig:165,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    - Src: "com.netflix.servo.monitor.MonitorConfig:165,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].<init>(com.netflix.servo.tag.SmallTagMap)"
    - Src: "com.netflix.servo.monitor.MonitorConfig:166,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].access$300(com.netflix.servo.monitor.MonitorConfig$Builder)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.MonitorConfig$Builder].access$100(com.netflix.servo.monitor.MonitorConfig$Builder)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig$Builder"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig$Builder].access$200(com.netflix.servo.monitor.MonitorConfig$Builder)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig$Builder"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "com.netflix.servo.tag.SmallTagMap$Builder"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap$Builder].isEmpty()"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$Builder"
    linkageType: ""
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SmallTagMap$Builder:88"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:87"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.MonitorConfig$Builder].access$300(com.netflix.servo.monitor.MonitorConfig$Builder)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig$Builder"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "com.netflix.servo.monitor.PublishingPolicy"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.Metric].<init>(java.lang.String,com.netflix.servo.tag.TagList,long,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.Metric"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionDepth: 6
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.tag.TagList"
    - "long"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.Metric:39,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    - Src: "com.netflix.servo.Metric:39,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.Metric:39,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.Metric:39,1"
      Dst: "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.Metric"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionDepth: 1
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "long"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    functionUses: 26
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.Metric:49,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.Metric:50,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].extractValues(java.lang.String,java.util.Map<String,Object>,javax.management.openmbean.CompositeData)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.util.Map<String,Object>"
    - "javax.management.openmbean.CompositeData"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[javax.management.openmbean.CompositeType].keySet()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[com.netflix.servo.publish.JmxMetricPoller].extractValues(java.lang.String,java.util.Map,javax.management.openmbean.CompositeData)"
    - "[com.google.common.collect.ArrayTable$ArrayMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.HashBiMap$Inverse].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap].put(java.lang.Object,java.lang.Object)"
    - "[java.security.Provider].put(java.lang.Object,java.lang.Object)"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.EnumHashBiMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.reflect.MutableTypeToInstanceMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.WeakHashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.cache.LocalCache].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$RowMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Maps$AbstractFilteredMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.EnumMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.AbstractMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Column].put(java.lang.Object,java.lang.Object)"
    - "[java.util.TreeMap].put(java.lang.Object,java.lang.Object)"
    - "[javax.swing.UIDefaults].put(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.AbstractBiMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Properties].put(java.lang.Object,java.lang.Object)"
    - "[java.util.IdentityHashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.HashBiMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullConcurrentMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$ColumnMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.TreeBasedTable$TreeRow].put(java.lang.Object,java.lang.Object)"
    - "[java.awt.RenderingHints].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Hashtable].put(java.lang.Object,java.lang.Object)"
    - "[java.util.jar.Attributes].put(java.lang.Object,java.lang.Object)"
    - "[javax.management.openmbean.CompositeData].getCompositeType()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[javax.management.openmbean.CompositeData].get(java.lang.String)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 30
    EdgeCount: 272
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:171"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:180"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "next()"
        - "keySet()"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:179"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:172"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:171"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:170"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "next()"
        - "keySet()"
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:174"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:176"
        BranchSideFuncs:
        - "extractValues(java.lang.String,java.util.Map,javax.management.openmbean.CompositeData)"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:175"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:176"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:179"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:178"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:171,1"
      Dst: "[javax.management.openmbean.CompositeData].getCompositeType()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:171,1"
      Dst: "[javax.management.openmbean.CompositeType].keySet()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:171,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:171,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:171,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:172,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:172,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:172,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:173,1"
      Dst: "[javax.management.openmbean.CompositeData].get(java.lang.String)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:175,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].extractValues(java.lang.String,java.util.Map,javax.management.openmbean.CompositeData)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:177,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].getMetrics(javax.management.MBeanServerConnection,com.netflix.servo.publish.MetricFilter,java.util.List<Metric>,javax.management.ObjectName)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: 192
    functionLinenumberEnd: 222
    functionDepth: 6
    returnType: "void"
    argCount: 4
    argTypes:
    - "javax.management.MBeanServerConnection"
    - "com.netflix.servo.publish.MetricFilter"
    - "java.util.List<Metric>"
    - "javax.management.ObjectName"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.JmxMetricPoller].createTagList(javax.management.ObjectName)"
    - "[javax.management.MBeanInfo].getAttributes()"
    - "[java.util.ArrayList].<init>()"
    - "[javax.management.MBeanFeatureInfo].getName()"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.publish.RegexMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.publish.PrefixMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.publish.BasicMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - "[javax.management.AttributeList].add(java.lang.Object)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[com.netflix.servo.publish.JmxMetricPoller].safelyLoadAttributes(javax.management.MBeanServerConnection,javax.management.ObjectName,java.util.List)"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[javax.management.Attribute].getName()"
    - "[javax.management.Attribute].getValue()"
    - "[com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_0__55].bootstrap$()"
    - "[java.util.Collection].stream()"
    - "[com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_1__56].bootstrap$(com.netflix.servo.publish.JmxMetricPoller,com.netflix.servo.publish.MetricFilter,java.util.List,com.netflix.servo.tag.TagList,java.lang.String)"
    - "[com.netflix.servo.publish.JmxMetricPoller].addCompositeMetrics(com.netflix.servo.publish.MetricFilter,java.util.List,com.netflix.servo.tag.TagList,java.lang.String,javax.management.openmbean.CompositeData)"
    - "[com.netflix.servo.publish.JmxMetricPoller].addMetric(java.util.List,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    - "[javax.management.MBeanServerConnection].getMBeanInfo(javax.management.ObjectName)"
    - "[com.netflix.servo.publish.MetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[javax.management.openmbean.TabularData].values()"
    - "[java.util.stream.Stream].filter(java.util.function.Predicate)"
    - "[java.util.stream.Stream].forEach(java.util.function.Consumer)"
    functionUses: 1
    ICount: 50
    EdgeCount: 181
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:199"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:205"
        BranchSideFuncs:
        - "matches(com.netflix.servo.monitor.MonitorConfig)"
        - "build()"
        - "<init>(java.lang.String)"
        - "withTags(com.netflix.servo.tag.TagList)"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:204"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "safelyLoadAttributes(javax.management.MBeanServerConnection,javax.management.ObjectName,java.util.List)"
        - "iterator()"
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:201"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:193"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:192"
        BranchSideFuncs:
        - "createTagList(javax.management.ObjectName)"
        - "<init>()"
        - "getAttributes()"
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:207"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:221"
        BranchSideFuncs:
        - "hasNext()"
        - "getValue()"
        - "next()"
        - "getName()"
        - "iterator()"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:220"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:210"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:215"
        BranchSideFuncs:
        - "bootstrap$()"
        - "bootstrap$(com.netflix.servo.publish.JmxMetricPoller,com.netflix.servo.publish.MetricFilter,java.util.List,com.netflix.servo.tag.TagList,java.lang.String)"
        - "stream()"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:214"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:215"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:218"
        BranchSideFuncs:
        - "addCompositeMetrics(com.netflix.servo.publish.MetricFilter,java.util.List,com.netflix.servo.tag.TagList,java.lang.String,javax.management.openmbean.CompositeData)"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:217"
        BranchSideFuncs:
        - "addMetric(java.util.List,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:193,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].createTagList(javax.management.ObjectName)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:194,1"
      Dst: "[javax.management.MBeanServerConnection].getMBeanInfo(javax.management.ObjectName)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:195,1"
      Dst: "[javax.management.MBeanInfo].getAttributes()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:198,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:200,1"
      Dst: "[javax.management.MBeanFeatureInfo].getName()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:201,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:201,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:201,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:201,1"
      Dst: "[com.netflix.servo.publish.MetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:202,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:205,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].safelyLoadAttributes(javax.management.MBeanServerConnection,javax.management.ObjectName,java.util.List)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:207,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:207,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:207,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:208,1"
      Dst: "[javax.management.Attribute].getName()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:209,1"
      Dst: "[javax.management.Attribute].getValue()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:211,1"
      Dst: "[javax.management.openmbean.TabularData].values()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:211,1"
      Dst: "[java.util.Collection].stream()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:211,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_0__55].bootstrap$()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:212,1"
      Dst: "[java.util.stream.Stream].filter(java.util.function.Predicate)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:212,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_1__56].bootstrap$(com.netflix.servo.publish.JmxMetricPoller,com.netflix.servo.publish.MetricFilter,java.util.List,com.netflix.servo.tag.TagList,java.lang.String)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:213,1"
      Dst: "[java.util.stream.Stream].forEach(java.util.function.Consumer)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:216,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].addCompositeMetrics(com.netflix.servo.publish.MetricFilter,java.util.List,com.netflix.servo.tag.TagList,java.lang.String,javax.management.openmbean.CompositeData)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:218,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].addMetric(java.util.List,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "javax.management.JMException"
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 14
    CyclomaticComplexity: 6
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_0__55].bootstrap$()"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_0__55"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_0__55].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_0__55:-1,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_0__55].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_0__55].<init>()"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_0__55"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_0__55:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_1__56].bootstrap$(com.netflix.servo.publish.JmxMetricPoller,com.netflix.servo.publish.MetricFilter,java.util.List,com.netflix.servo.tag.TagList,java.lang.String)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_1__56"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.Consumer"
    argCount: 5
    argTypes:
    - "com.netflix.servo.publish.JmxMetricPoller"
    - "com.netflix.servo.publish.MetricFilter"
    - "java.util.List"
    - "com.netflix.servo.tag.TagList"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_1__56].<init>(com.netflix.servo.publish.JmxMetricPoller,com.netflix.servo.publish.MetricFilter,java.util.List,com.netflix.servo.tag.TagList,java.lang.String)"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_1__56:-1,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_1__56].<init>(com.netflix.servo.publish.JmxMetricPoller,com.netflix.servo.publish.MetricFilter,java.util.List,com.netflix.servo.tag.TagList,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_1__56].<init>(com.netflix.servo.publish.JmxMetricPoller,com.netflix.servo.publish.MetricFilter,java.util.List,com.netflix.servo.tag.TagList,java.lang.String)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_1__56"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 5
    argTypes:
    - "com.netflix.servo.publish.JmxMetricPoller"
    - "com.netflix.servo.publish.MetricFilter"
    - "java.util.List"
    - "com.netflix.servo.tag.TagList"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 13
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_1__56:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].addCompositeMetrics(com.netflix.servo.publish.MetricFilter,java.util.List<Metric>,com.netflix.servo.tag.TagList,java.lang.String,javax.management.openmbean.CompositeData)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionDepth: 6
    returnType: "void"
    argCount: 5
    argTypes:
    - "com.netflix.servo.publish.MetricFilter"
    - "java.util.List<Metric>"
    - "com.netflix.servo.tag.TagList"
    - "java.lang.String"
    - "javax.management.openmbean.CompositeData"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    - "[com.netflix.servo.publish.JmxMetricPoller].extractValues(java.lang.String,java.util.Map,javax.management.openmbean.CompositeData)"
    - "[java.util.HashMap].entrySet()"
    - "[java.util.LinkedHashMap].entrySet()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[com.google.common.collect.Maps$10].getKey()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet$1$1].getKey()"
    - "[java.util.WeakHashMap$Entry].getKey()"
    - "[com.google.common.collect.ForwardingMapEntry].getKey()"
    - "[com.google.common.collect.LinkedListMultimap$Node].getKey()"
    - "[java.util.Hashtable$Entry].getKey()"
    - "[com.google.common.collect.TreeRangeMap$RangeMapEntry].getKey()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].getKey()"
    - "[com.google.common.collect.MapMakerInternalMap$WriteThroughEntry].getKey()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1$1$1].getKey()"
    - "[com.google.common.collect.StandardTable$Column$EntrySetIterator$1].getKey()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].getKey()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].getKey()"
    - "[com.google.common.cache.RemovalNotification].getKey()"
    - "[java.util.TreeMap$Entry].getKey()"
    - "[com.google.common.collect.ImmutableEntry].getKey()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1$1].getKey()"
    - "[com.google.common.collect.HashBiMap$EntrySet$1$MapEntry].getKey()"
    - "[com.google.common.collect.Maps$6].getKey()"
    - "[com.google.common.collect.HashBiMap$Inverse$1$1$InverseEntry].getKey()"
    - "[java.util.HashMap$Node].getKey()"
    - "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.publish.JmxMetricPoller].getTagListWithAdditionalTag(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - "[com.netflix.servo.publish.RegexMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.publish.PrefixMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.publish.BasicMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.publish.JmxMetricPoller].addMetric(java.util.List,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    - "[java.util.TreeMap$Entry].getValue()"
    - "[com.google.common.collect.StandardTable$Column$EntrySetIterator$1].getValue()"
    - "[com.google.common.collect.HashBiMap$EntrySet$1$MapEntry].getValue()"
    - "[com.google.common.collect.MapMakerInternalMap$WriteThroughEntry].getValue()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1$1$1].getValue()"
    - "[com.google.common.collect.ForwardingMapEntry].getValue()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].getValue()"
    - "[com.google.common.collect.ImmutableEntry].getValue()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1$1].getValue()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].getValue()"
    - "[com.google.common.collect.HashBiMap$Inverse$1$1$InverseEntry].getValue()"
    - "[com.google.common.collect.Maps$6].getValue()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet$1$1].getValue()"
    - "[com.google.common.collect.TreeRangeMap$RangeMapEntry].getValue()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].getValue()"
    - "[java.util.Hashtable$Entry].getValue()"
    - "[java.util.HashMap$Node].getValue()"
    - "[com.google.common.collect.Maps$10].getValue()"
    - "[com.google.common.collect.MapConstraints$2].getValue()"
    - "[com.google.common.collect.LinkedListMultimap$Node].getValue()"
    - "[com.google.common.cache.RemovalNotification].getValue()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1$1].getValue()"
    - "[java.util.WeakHashMap$Entry].getValue()"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[com.netflix.servo.publish.MetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.util.Map$Entry].getValue()"
    functionUses: 1
    ICount: 28
    EdgeCount: 289
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:227"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:234"
        BranchSideFuncs:
        - "hasNext()"
        - "getTagListWithAdditionalTag(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag)"
        - "next()"
        - "matches(com.netflix.servo.monitor.MonitorConfig)"
        - "build()"
        - "newTag(java.lang.String,java.lang.String)"
        - "iterator()"
        - "builder(java.lang.String)"
        - "entrySet()"
        - "getKey()"
        - "withTags(com.netflix.servo.tag.TagList)"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:233"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:230"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:233"
        BranchSideFuncs:
        - "getValue()"
        - "addMetric(java.util.List,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:232"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:225,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:226,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].extractValues(java.lang.String,java.util.Map,javax.management.openmbean.CompositeData)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:227,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:227,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:227,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:227,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:228,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:228,1"
      Dst: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:229,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].getTagListWithAdditionalTag(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:230,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:230,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:230,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:230,1"
      Dst: "[com.netflix.servo.publish.MetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:231,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:231,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].addMetric(java.util.List,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].addTabularMetrics(com.netflix.servo.publish.MetricFilter,java.util.List<Metric>,com.netflix.servo.tag.TagList,java.lang.String,javax.management.openmbean.CompositeData)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: 237
    functionLinenumberEnd: 249
    functionDepth: 6
    returnType: "void"
    argCount: 5
    argTypes:
    - "com.netflix.servo.publish.MetricFilter"
    - "java.util.List<Metric>"
    - "com.netflix.servo.tag.TagList"
    - "java.lang.String"
    - "javax.management.openmbean.CompositeData"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ImmutableMultimap].toString()"
    - "[java.lang.ProcessBuilder$Redirect$3].toString()"
    - "[bsh.BSHMethodDeclaration].toString()"
    - "[com.netflix.servo.monitor.MonitorWrapper].toString()"
    - "[com.google.common.hash.Funnels$SequentialFunnel].toString()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].toString()"
    - "[com.google.common.collect.ReverseOrdering].toString()"
    - "[com.netflix.spectator.impl.matcher.ZeroOrMoreMatcher].toString()"
    - "[com.netflix.servo.stats.StatsConfig].toString()"
    - "[com.google.common.base.Enums$ValueOfFunction].toString()"
    - "[com.google.common.base.Converter$ConverterComposition].toString()"
    - "[java.awt.PageAttributes].toString()"
    - "[java.util.Calendar].toString()"
    - "[com.netflix.servo.tag.BasicTag].toString()"
    - "[java.awt.MenuComponent].toString()"
    - "[java.net.Socket].toString()"
    - "[com.google.common.io.ByteSink$AsCharSink].toString()"
    - "[java.util.concurrent.Semaphore].toString()"
    - "[java.awt.Font].toString()"
    - "[org.testng.remote.strprotocol.TestResultMessage].toString()"
    - "[java.awt.AttributeValue].toString()"
    - "[com.netflix.spectator.impl.matcher.NegativeLookaheadMatcher].toString()"
    - "[javax.swing.JTree$DropLocation].toString()"
    - "[com.google.common.collect.MapMaker].toString()"
    - "[com.google.common.io.CharSource$ConcatenatedCharSource].toString()"
    - "[com.google.common.base.Functions$FunctionComposition].toString()"
    - "[com.google.common.collect.DiscreteDomain$BigIntegerDomain].toString()"
    - "[org.xml.sax.SAXParseException].toString()"
    - "[com.netflix.spectator.impl.AsciiSet].toString()"
    - "[com.google.common.base.Predicates$CompositionPredicate].toString()"
    - "[jdk.internal.math.FDBigInteger].toString()"
    - "[java.awt.Rectangle].toString()"
    - "[java.net.URI].toString()"
    - "[com.netflix.spectator.impl.StepDouble].toString()"
    - "[com.google.common.primitives.Ints$IntConverter].toString()"
    - "[javax.swing.undo.AbstractUndoableEdit].toString()"
    - "[javax.swing.text.StyleContext].toString()"
    - "[java.awt.Event].toString()"
    - "[java.lang.Short].toString()"
    - "[com.google.common.collect.ArrayListMultimap].toString()"
    - "[com.google.common.hash.MessageDigestHashFunction].toString()"
    - "[com.google.common.util.concurrent.AbstractIdleService].toString()"
    - "[com.google.common.collect.ByFunctionOrdering].toString()"
    - "[com.google.common.collect.HashMultimap].toString()"
    - "[java.time.ZoneId].toString()"
    - "[com.google.common.collect.ComparatorOrdering].toString()"
    - "[java.lang.invoke.LambdaForm].toString()"
    - "[com.google.common.base.Functions$SupplierFunction].toString()"
    - "[bsh.SimpleNode].toString()"
    - "[java.time.format.DateTimeFormatter].toString()"
    - "[org.testng.TestListenerAdapter].toString()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].toString()"
    - "[org.testng.xml.XmlSuite].toString()"
    - "[com.google.common.base.Objects$ToStringHelper].toString()"
    - "[org.testng.junit.JUnitUtils$JUnitTestMethod].toString()"
    - "[com.google.common.collect.DiscreteDomain$IntegerDomain].toString()"
    - "[com.google.common.hash.Funnels$LongFunnel].toString()"
    - "[java.security.CodeSource].toString()"
    - "[org.yaml.snakeyaml.nodes.SequenceNode].toString()"
    - "[bsh.util.AWTConsole].toString()"
    - "[javax.accessibility.AccessibleStateSet].toString()"
    - "[com.google.common.base.Predicates$IsEqualToPredicate].toString()"
    - "[com.google.common.base.Suppliers$ExpiringMemoizingSupplier].toString()"
    - "[java.awt.font.TextHitInfo].toString()"
    - "[com.google.common.base.Predicates$AssignableFromPredicate].toString()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].toString()"
    - "[java.lang.invoke.MethodType].toString()"
    - "[java.util.Formatter].toString()"
    - "[bsh.BSHVariableDeclarator].toString()"
    - "[com.netflix.servo.monitor.StepCounter].toString()"
    - "[com.google.common.eventbus.EventSubscriber].toString()"
    - "[sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo].toString()"
    - "[javax.swing.text.AbstractDocument$BranchElement].toString()"
    - "[java.util.IntSummaryStatistics].toString()"
    - "[junit.framework.TestFailure].toString()"
    - "[com.google.common.collect.TreeMultimap].toString()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].toString()"
    - "[java.awt.GridLayout].toString()"
    - "[java.awt.PageAttributes$MediaType].toString()"
    - "[java.util.TreeMap$Entry].toString()"
    - "[com.netflix.servo.monitor.NumberGauge].toString()"
    - "[java.io.File].toString()"
    - "[java.lang.String].toString()"
    - "[junit.framework.TestCase].toString()"
    - "[javax.swing.text.Position$Bias].toString()"
    - "[org.yaml.snakeyaml.error.Mark].toString()"
    - "[javax.swing.text.TabSet].toString()"
    - "[com.google.common.collect.LexicographicalOrdering].toString()"
    - "[java.math.BigDecimal].toString()"
    - "[java.lang.Package].toString()"
    - "[com.netflix.servo.monitor.MinGauge].toString()"
    - "[com.google.common.base.Suppliers$ThreadSafeSupplier].toString()"
    - "[java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock].toString()"
    - "[com.netflix.spectator.impl.matcher.RepeatMatcher].toString()"
    - "[com.google.common.hash.HashCode].toString()"
    - "[com.google.common.collect.DiscreteDomain$LongDomain].toString()"
    - "[java.util.Date].toString()"
    - "[bsh.NameSpace].toString()"
    - "[java.security.cert.CertPath].toString()"
    - "[com.google.common.reflect.Element].toString()"
    - "[java.awt.JobAttributes$SidesType].toString()"
    - "[bsh.LHS].toString()"
    - "[org.testng.internal.ClassImpl].toString()"
    - "[java.util.concurrent.ForkJoinPool].toString()"
    - "[java.lang.invoke.LambdaForm$NamedFunction].toString()"
    - "[com.google.common.collect.LinkedListMultimap].toString()"
    - "[com.google.common.hash.Murmur3_32HashFunction].toString()"
    - "[java.security.ProtectionDomain].toString()"
    - "[com.google.common.util.concurrent.AbstractScheduledService].toString()"
    - "[sun.font.EAttribute].toString()"
    - "[java.util.Currency].toString()"
    - "[com.netflix.spectator.impl.matcher.OrMatcher].toString()"
    - "[com.google.common.base.Predicates$NotPredicate].toString()"
    - "[java.lang.invoke.MemberName].toString()"
    - "[java.lang.ProcessHandleImpl].toString()"
    - "[com.google.common.reflect.TypeToken$2].toString()"
    - "[javax.swing.text.AbstractDocument$DefaultDocumentEvent].toString()"
    - "[java.util.concurrent.LinkedBlockingQueue].toString()"
    - "[com.google.common.base.Functions$IdentityFunction].toString()"
    - "[javax.swing.text.SimpleAttributeSet].toString()"
    - "[java.awt.JobAttributes$DefaultSelectionType].toString()"
    - "[javax.swing.DefaultListModel].toString()"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$MostFrequentLimiter].toString()"
    - "[bsh.CallStack].toString()"
    - "[com.google.common.primitives.Shorts$ShortConverter].toString()"
    - "[java.time.Instant].toString()"
    - "[javax.management.BadBinaryOpValueExpException].toString()"
    - "[com.google.common.util.concurrent.RateLimiter].toString()"
    - "[com.google.common.base.CaseFormat$StringConverter].toString()"
    - "[bsh.XThis].toString()"
    - "[org.testng.internal.AnnotationTypeEnum].toString()"
    - "[com.google.common.base.Suppliers$MemoizingSupplier].toString()"
    - "[com.google.common.io.CharSource$EmptyCharSource].toString()"
    - "[com.netflix.spectator.impl.matcher.ZeroOrOneMatcher].toString()"
    - "[com.google.common.io.BaseEncoding$SeparatedBaseEncoding].toString()"
    - "[com.google.common.io.ByteStreams$4].toString()"
    - "[com.google.common.base.Absent].toString()"
    - "[bsh.Token].toString()"
    - "[bsh.Primitive].toString()"
    - "[org.yaml.snakeyaml.nodes.MappingNode].toString()"
    - "[com.google.common.io.CharStreams$4].toString()"
    - "[sun.font.FontFamily].toString()"
    - "[com.google.common.collect.NaturalOrdering].toString()"
    - "[sun.reflect.annotation.TypeAnnotation].toString()"
    - "[java.lang.ProcessBuilder$Redirect$2].toString()"
    - "[com.google.common.base.Suppliers$SupplierOfInstance].toString()"
    - "[javax.management.MBeanConstructorInfo].toString()"
    - "[com.netflix.servo.monitor.DynamicGauge].toString()"
    - "[bsh.This].toString()"
    - "[com.google.common.collect.Multisets$AbstractEntry].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor].toString()"
    - "[sun.nio.fs.UnixFileStore].toString()"
    - "[java.security.PrivilegedActionException].toString()"
    - "[javax.security.auth.Subject].toString()"
    - "[java.util.regex.Pattern].toString()"
    - "[com.netflix.servo.monitor.DefaultPublishingPolicy].toString()"
    - "[java.time.LocalDate].toString()"
    - "[java.awt.datatransfer.MimeType].toString()"
    - "[com.google.common.hash.Funnels$StringCharsetFunnel].toString()"
    - "[com.google.common.base.Predicates$AndPredicate].toString()"
    - "[sun.java2d.loops.FontInfo].toString()"
    - "[jdk.internal.org.objectweb.asm.Type].toString()"
    - "[javax.accessibility.AccessibleRelationSet].toString()"
    - "[java.util.concurrent.PriorityBlockingQueue].toString()"
    - "[org.yaml.snakeyaml.nodes.ScalarNode].toString()"
    - "[java.awt.BufferCapabilities$FlipContents].toString()"
    - "[org.testng.internal.BaseTestMethod].toString()"
    - "[javax.management.Attribute].toString()"
    - "[bsh.EvalError].toString()"
    - "[java.awt.JobAttributes$DialogType].toString()"
    - "[jdk.internal.misc.Signal$NativeHandler].toString()"
    - "[com.netflix.servo.monitor.StepLong].toString()"
    - "[java.awt.image.IndexColorModel].toString()"
    - "[java.lang.ProcessBuilder$Redirect$6].toString()"
    - "[com.google.common.collect.HashBasedTable].toString()"
    - "[org.yaml.snakeyaml.scanner.SimpleKey].toString()"
    - "[java.net.ServerSocket].toString()"
    - "[java.lang.Character].toString()"
    - "[com.netflix.spectator.impl.matcher.CharSeqMatcher].toString()"
    - "[com.google.common.primitives.UnsignedInteger].toString()"
    - "[javax.swing.event.DocumentEvent$EventType].toString()"
    - "[java.time.zone.ZoneRules].toString()"
    - "[com.google.common.collect.AllEqualOrdering].toString()"
    - "[java.io.ObjectOutputStream$DebugTraceInfoStack].toString()"
    - "[java.lang.Long].toString()"
    - "[java.awt.Insets].toString()"
    - "[java.util.ServiceLoader].toString()"
    - "[com.google.common.collect.LinkedHashMultiset].toString()"
    - "[java.util.HashMap$Node].toString()"
    - "[com.google.common.net.HostAndPort].toString()"
    - "[javax.management.MBeanParameterInfo].toString()"
    - "[javax.swing.text.JTextComponent$DropLocation].toString()"
    - "[java.awt.PageAttributes$OriginType].toString()"
    - "[com.google.common.collect.ImmutableTable].toString()"
    - "[javax.management.Notification].toString()"
    - "[sun.java2d.loops.GraphicsPrimitive].toString()"
    - "[java.beans.FeatureDescriptor].toString()"
    - "[com.google.common.cache.CacheBuilder].toString()"
    - "[com.google.common.collect.AbstractMapEntry].toString()"
    - "[org.testng.internal.ClonedMethod].toString()"
    - "[com.google.common.collect.TreeMultiset].toString()"
    - "[jdk.internal.org.objectweb.asm.Label].toString()"
    - "[java.lang.module.ModuleDescriptor$Version].toString()"
    - "[java.util.WeakHashMap$Entry].toString()"
    - "[java.net.SocketImpl].toString()"
    - "[sun.java2d.loops.CompositeType].toString()"
    - "[sun.net.www.MessageHeader].toString()"
    - "[com.google.common.primitives.Doubles$DoubleConverter].toString()"
    - "[java.security.AlgorithmParameters].toString()"
    - "[com.google.common.io.CharStreams$NullWriter].toString()"
    - "[com.google.common.collect.ImmutableRangeMap].toString()"
    - "[java.security.Timestamp].toString()"
    - "[com.google.common.io.Resources$UrlByteSource].toString()"
    - "[java.lang.ModuleLayer].toString()"
    - "[java.util.concurrent.ConcurrentHashMap].toString()"
    - "[com.google.common.collect.ForwardingObject].toString()"
    - "[java.util.Hashtable].toString()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].toString()"
    - "[bsh.BSHClassDeclaration].toString()"
    - "[com.netflix.spectator.api.DefaultId].toString()"
    - "[bsh.util.JConsole].toString()"
    - "[com.google.common.net.HostSpecifier].toString()"
    - "[java.nio.channels.FileLock].toString()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].toString()"
    - "[com.google.common.collect.Tables$AbstractCell].toString()"
    - "[com.netflix.spectator.impl.matcher.IndexOfMatcher].toString()"
    - "[java.util.OptionalLong].toString()"
    - "[com.google.common.collect.Cut$BelowValue].toString()"
    - "[javax.swing.tree.DefaultMutableTreeNode].toString()"
    - "[java.nio.FloatBuffer].toString()"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].toString()"
    - "[com.google.common.collect.UsingToStringOrdering].toString()"
    - "[org.testng.internal.MapList].toString()"
    - "[java.nio.channels.FileChannel$MapMode].toString()"
    - "[com.google.common.io.CharStreams$3].toString()"
    - "[com.google.common.base.Present].toString()"
    - "[java.time.LocalTime].toString()"
    - "[com.google.common.cache.LongAdder].toString()"
    - "[java.lang.Class].toString()"
    - "[javax.management.MBeanInfo].toString()"
    - "[java.net.NetworkInterface].toString()"
    - "[com.google.common.base.Predicates$InPredicate].toString()"
    - "[java.awt.ScrollPaneAdjustable].toString()"
    - "[com.netflix.spectator.api.Measurement].toString()"
    - "[java.awt.MenuShortcut].toString()"
    - "[java.nio.IntBuffer].toString()"
    - "[java.awt.JobAttributes$DestinationType].toString()"
    - "[com.google.common.cache.CacheStats].toString()"
    - "[com.netflix.servo.monitor.DynamicTimer].toString()"
    - "[java.net.URLConnection].toString()"
    - "[com.netflix.spectator.impl.matcher.EndMatcher].toString()"
    - "[javax.swing.LookAndFeel].toString()"
    - "[java.util.AbstractCollection].toString()"
    - "[com.google.common.collect.NullsFirstOrdering].toString()"
    - "[com.netflix.servo.monitor.MaxGauge].toString()"
    - "[com.google.common.reflect.ClassPath$ClassInfo].toString()"
    - "[com.google.common.collect.Sets$DescendingSet].toString()"
    - "[java.lang.invoke.MethodHandles$Lookup].toString()"
    - "[java.time.Period].toString()"
    - "[java.awt.BorderLayout].toString()"
    - "[com.google.common.io.ByteSource$ByteArrayByteSource].toString()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].toString()"
    - "[org.xml.sax.SAXException].toString()"
    - "[java.security.SecureRandom].toString()"
    - "[com.netflix.spectator.api.BasicTag].toString()"
    - "[java.time.temporal.ChronoUnit].toString()"
    - "[org.slf4j.helpers.MarkerIgnoringBase].toString()"
    - "[javax.management.openmbean.CompositeType].toString()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].toString()"
    - "[java.awt.PageAttributes$OrientationRequestedType].toString()"
    - "[com.google.common.collect.Maps$ValueDifferenceImpl].toString()"
    - "[com.netflix.spectator.api.NoopId].toString()"
    - "[java.awt.geom.Rectangle2D$Double].toString()"
    - "[sun.reflect.annotation.AnnotationType].toString()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].toString()"
    - "[com.google.common.io.Files$FilePredicate$2].toString()"
    - "[com.google.common.collect.Maps$MapDifferenceImpl].toString()"
    - "[java.io.ObjectStreamClass].toString()"
    - "[java.util.jar.Attributes$Name].toString()"
    - "[java.util.concurrent.ConcurrentHashMap$CollectionView].toString()"
    - "[javax.swing.text.DefaultStyledDocument$ElementSpec].toString()"
    - "[bsh.Name].toString()"
    - "[java.time.format.Parsed].toString()"
    - "[junit.framework.TestSuite].toString()"
    - "[com.google.common.collect.Ordering$ArbitraryOrdering].toString()"
    - "[java.lang.module.ResolvedModule].toString()"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].toString()"
    - "[com.google.common.collect.TreeMultiset$AvlNode].toString()"
    - "[bsh.classpath.DiscreteFilesClassLoader].toString()"
    - "[com.google.common.io.ByteSource$EmptyByteSource].toString()"
    - "[com.google.common.reflect.Types$ParameterizedTypeImpl].toString()"
    - "[javax.management.ObjectName].toString()"
    - "[com.google.common.collect.FluentIterable].toString()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].toString()"
    - "[org.testng.internal.DynamicGraph].toString()"
    - "[java.util.concurrent.ThreadPoolExecutor].toString()"
    - "[com.google.common.collect.Maps$BiMapConverter].toString()"
    - "[java.awt.datatransfer.DataFlavor].toString()"
    - "[java.lang.Boolean].toString()"
    - "[java.nio.charset.CoderResult].toString()"
    - "[java.lang.invoke.MethodHandle].toString()"
    - "[jdk.internal.module.ModuleResolution].toString()"
    - "[com.google.common.reflect.Parameter].toString()"
    - "[java.time.Duration].toString()"
    - "[bsh.ParseException].toString()"
    - "[com.google.common.collect.Maps$DescendingMap].toString()"
    - "[com.google.common.base.FunctionalEquivalence].toString()"
    - "[com.google.common.hash.Funnels$SinkAsStream].toString()"
    - "[javax.swing.text.DefaultStyledDocument$ElementBuffer$ElemChanges].toString()"
    - "[javax.management.MBeanNotificationInfo].toString()"
    - "[com.google.common.base.Functions$ToStringFunction].toString()"
    - "[java.util.LongSummaryStatistics].toString()"
    - "[com.google.common.base.CharMatcher$1].toString()"
    - "[com.google.common.base.Stopwatch].toString()"
    - "[com.google.common.collect.EmptyImmutableSet].toString()"
    - "[com.google.common.base.StandardSystemProperty].toString()"
    - "[com.google.common.primitives.Longs$LongConverter].toString()"
    - "[javax.print.DocFlavor].toString()"
    - "[javax.swing.undo.CompoundEdit].toString()"
    - "[org.yaml.snakeyaml.events.ImplicitTuple].toString()"
    - "[java.awt.Dimension].toString()"
    - "[org.testng.internal.TestResult].toString()"
    - "[javax.print.MimeType].toString()"
    - "[java.text.ParsePosition].toString()"
    - "[com.google.common.util.concurrent.AtomicDouble].toString()"
    - "[com.google.common.collect.TreeRangeMap].toString()"
    - "[com.google.common.collect.ImmutableMultiset].toString()"
    - "[bsh.servlet.SimpleTemplate].toString()"
    - "[com.google.common.hash.Funnels$UnencodedCharsFunnel].toString()"
    - "[com.google.common.base.Functions$ConstantFunction].toString()"
    - "[java.security.PermissionCollection].toString()"
    - "[bsh.classpath.BshClassPath$JarClassSource].toString()"
    - "[javax.swing.tree.TreePath].toString()"
    - "[java.time.ZonedDateTime].toString()"
    - "[java.util.concurrent.ArrayBlockingQueue].toString()"
    - "[java.net.Proxy].toString()"
    - "[com.google.common.collect.EmptyContiguousSet].toString()"
    - "[javax.management.MBeanAttributeInfo].toString()"
    - "[bsh.ClassIdentifier].toString()"
    - "[java.util.OptionalDouble].toString()"
    - "[java.awt.FontMetrics].toString()"
    - "[com.google.common.base.Functions$PredicateFunction].toString()"
    - "[org.testng.internal.junit.ArrayComparisonFailure].toString()"
    - "[com.google.common.collect.SingletonImmutableSet].toString()"
    - "[java.beans.PropertyChangeEvent].toString()"
    - "[java.util.concurrent.atomic.AtomicInteger].toString()"
    - "[java.util.Hashtable$Entry].toString()"
    - "[java.lang.invoke.MethodTypeForm].toString()"
    - "[java.time.format.DecimalStyle].toString()"
    - "[java.time.zone.ZoneOffsetTransition].toString()"
    - "[com.google.common.reflect.Types$WildcardTypeImpl].toString()"
    - "[com.google.common.collect.Cut$AboveValue].toString()"
    - "[com.google.common.base.Predicates$OrPredicate].toString()"
    - "[java.lang.module.ModuleDescriptor].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].toString()"
    - "[java.lang.ProcessBuilder$Redirect$4].toString()"
    - "[java.time.LocalDateTime].toString()"
    - "[com.netflix.servo.monitor.BucketConfig].toString()"
    - "[javax.management.ObjectInstance].toString()"
    - "[com.netflix.spectator.impl.matcher.StartMatcher].toString()"
    - "[sun.java2d.pipe.Region].toString()"
    - "[java.io.ObjectStreamField].toString()"
    - "[sun.font.StrikeMetrics].toString()"
    - "[java.time.format.DateTimeFormatterBuilder$CompositePrinterParser].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$LineBreak].toString()"
    - "[javax.management.openmbean.TabularType].toString()"
    - "[com.google.common.collect.ContiguousSet].toString()"
    - "[java.lang.Double].toString()"
    - "[com.google.common.base.Equivalence$EquivalentToPredicate].toString()"
    - "[com.google.common.reflect.TypeToken$1].toString()"
    - "[com.google.common.io.BaseEncoding$StandardBaseEncoding].toString()"
    - "[java.awt.PageAttributes$PrintQualityType].toString()"
    - "[java.io.ByteArrayOutputStream].toString()"
    - "[java.util.DoubleSummaryStatistics].toString()"
    - "[sun.security.util.LazyCodeSourcePermissionCollection].toString()"
    - "[com.google.common.io.ByteSource$AsCharSource].toString()"
    - "[java.lang.Runtime$Version].toString()"
    - "[com.google.common.collect.ArrayTable].toString()"
    - "[com.google.common.base.Predicates$ContainsPatternPredicate].toString()"
    - "[sun.nio.fs.UnixPath].toString()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].toString()"
    - "[javax.swing.TransferHandler$DropLocation].toString()"
    - "[java.security.SecureRandomSpi].toString()"
    - "[java.util.UUID].toString()"
    - "[java.util.concurrent.LinkedBlockingDeque].toString()"
    - "[com.google.common.io.Files$FilePredicate$1].toString()"
    - "[javax.swing.event.HyperlinkEvent$EventType].toString()"
    - "[java.util.concurrent.CompletableFuture].toString()"
    - "[java.time.OffsetTime].toString()"
    - "[javax.swing.MultiUIDefaults].toString()"
    - "[java.awt.DisplayMode].toString()"
    - "[com.google.common.reflect.ClassPath$ResourceInfo].toString()"
    - "[com.google.common.collect.DescendingMultiset].toString()"
    - "[org.testng.SuiteResult].toString()"
    - "[java.awt.font.NumericShaper].toString()"
    - "[com.google.common.hash.SipHashFunction].toString()"
    - "[java.lang.reflect.Method].toString()"
    - "[com.google.common.base.Splitter$5].toString()"
    - "[com.netflix.spectator.impl.StepLong].toString()"
    - "[jdk.internal.jimage.ImageReader$Node].toString()"
    - "[com.google.common.hash.Murmur3_128HashFunction].toString()"
    - "[sun.util.calendar.CalendarDate].toString()"
    - "[com.netflix.servo.monitor.PeakRateCounter].toString()"
    - "[com.google.common.collect.AbstractMultimap].toString()"
    - "[com.google.common.base.Functions$FunctionForMapNoDefault].toString()"
    - "[java.awt.Component].toString()"
    - "[java.net.URL].toString()"
    - "[junit.extensions.RepeatedTest].toString()"
    - "[com.google.common.collect.SingletonImmutableList].toString()"
    - "[javax.swing.UIManager$LookAndFeelInfo].toString()"
    - "[javax.management.BadAttributeValueExpException].toString()"
    - "[org.testng.internal.TestMethodWorker].toString()"
    - "[com.google.common.collect.AbstractMultiset].toString()"
    - "[org.yaml.snakeyaml.nodes.NodeTuple].toString()"
    - "[java.awt.geom.Rectangle2D$Float].toString()"
    - "[org.slf4j.helpers.BasicMarker].toString()"
    - "[bsh.classpath.BshClassPath].toString()"
    - "[java.text.Annotation].toString()"
    - "[java.awt.Graphics].toString()"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].toString()"
    - "[com.google.common.hash.ChecksumHashFunction].toString()"
    - "[com.google.common.reflect.AbstractInvocationHandler].toString()"
    - "[javax.swing.event.ListDataEvent].toString()"
    - "[java.util.OptionalInt].toString()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].toString()"
    - "[javax.accessibility.AccessibleBundle].toString()"
    - "[com.netflix.servo.monitor.DoubleCounter].toString()"
    - "[com.google.common.hash.Funnels$ByteArrayFunnel].toString()"
    - "[sun.util.calendar.JulianCalendar$Date].toString()"
    - "[java.nio.charset.CodingErrorAction].toString()"
    - "[com.netflix.spectator.impl.matcher.CharClassMatcher].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor$LongGaugeWrapper].toString()"
    - "[com.netflix.spectator.impl.matcher.TrueMatcher].toString()"
    - "[java.lang.StringBuffer].toString()"
    - "[com.google.common.collect.AbstractTable].toString()"
    - "[com.google.common.io.ByteSource$ConcatenatedByteSource].toString()"
    - "[com.google.common.collect.ReverseNaturalOrdering].toString()"
    - "[org.testng.internal.Graph].toString()"
    - "[java.util.regex.Matcher].toString()"
    - "[com.google.common.base.CharMatcher].toString()"
    - "[java.awt.geom.Point2D$Float].toString()"
    - "[com.netflix.spectator.api.ExtendedRegistry].toString()"
    - "[java.lang.invoke.MethodHandleImpl$LoopClauses].toString()"
    - "[org.yaml.snakeyaml.introspector.Property].toString()"
    - "[java.security.MessageDigest].toString()"
    - "[com.google.common.base.Converter$ReverseConverter].toString()"
    - "[com.google.common.collect.LinkedHashMultimap].toString()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap].toString()"
    - "[jdk.internal.org.objectweb.asm.TypePath].toString()"
    - "[java.nio.charset.Charset].toString()"
    - "[com.google.common.net.MediaType].toString()"
    - "[com.netflix.servo.monitor.StatsTimer].toString()"
    - "[org.testng.remote.strprotocol.SuiteMessage].toString()"
    - "[sun.util.calendar.Era].toString()"
    - "[java.util.ResourceBundle$CacheKey].toString()"
    - "[com.netflix.servo.monitor.AnnotatedStringMonitor].toString()"
    - "[org.testng.internal.Graph$Node].toString()"
    - "[jdk.internal.misc.Signal].toString()"
    - "[com.netflix.spectator.impl.matcher.SeqMatcher].toString()"
    - "[java.util.AbstractMap].toString()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].toString()"
    - "[com.netflix.servo.util.ExpiringCache].toString()"
    - "[java.text.DigitList].toString()"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$RollupLimiter].toString()"
    - "[java.awt.AWTKeyStroke].toString()"
    - "[com.netflix.servo.monitor.DurationTimer].toString()"
    - "[javax.swing.text.DefaultCaret].toString()"
    - "[java.security.Permission].toString()"
    - "[java.util.Optional].toString()"
    - "[com.google.common.io.GwtWorkarounds$6].toString()"
    - "[org.testng.internal.ResultMap].toString()"
    - "[com.google.common.io.Files$FileByteSource].toString()"
    - "[java.awt.Cursor].toString()"
    - "[com.google.common.primitives.UnsignedLong].toString()"
    - "[java.lang.Throwable].toString()"
    - "[com.netflix.servo.monitor.BasicGauge].toString()"
    - "[com.google.common.collect.AbstractRangeSet].toString()"
    - "[jdk.internal.org.objectweb.asm.Handle].toString()"
    - "[com.google.common.base.PairwiseEquivalence].toString()"
    - "[org.testng.TestClass].toString()"
    - "[com.google.common.io.BaseEncoding$Alphabet].toString()"
    - "[com.google.common.base.Converter$IdentityConverter].toString()"
    - "[com.google.common.collect.ImmutableMap].toString()"
    - "[com.google.common.reflect.TypeToken].toString()"
    - "[java.time.zone.ZoneOffsetTransitionRule].toString()"
    - "[bsh.classpath.BshClassPath$DirClassSource].toString()"
    - "[com.google.common.collect.GeneralRange].toString()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].toString()"
    - "[java.net.HttpCookie].toString()"
    - "[com.google.common.collect.Collections2$PermutationCollection].toString()"
    - "[com.google.common.reflect.TypeParameter].toString()"
    - "[java.lang.Object].toString()"
    - "[java.text.AttributedCharacterIterator$Attribute].toString()"
    - "[java.util.zip.ZipEntry].toString()"
    - "[java.lang.Float].toString()"
    - "[java.nio.CharBuffer].toString()"
    - "[java.time.OffsetDateTime].toString()"
    - "[java.util.Vector].toString()"
    - "[javax.swing.text.StyleContext$SmallAttributeSet].toString()"
    - "[com.google.common.cache.CacheBuilderSpec].toString()"
    - "[javax.print.event.PrintEvent].toString()"
    - "[java.util.Properties].toString()"
    - "[java.lang.management.LockInfo].toString()"
    - "[java.awt.geom.Point2D$Double].toString()"
    - "[com.google.common.util.concurrent.AbstractService].toString()"
    - "[java.lang.reflect.Constructor].toString()"
    - "[java.awt.RenderingHints].toString()"
    - "[org.yaml.snakeyaml.tokens.Token].toString()"
    - "[java.time.format.DateTimeFormatterBuilder$NumberPrinterParser].toString()"
    - "[javax.management.MBeanOperationInfo].toString()"
    - "[com.beust.jcommander.ParameterDescription].toString()"
    - "[sun.util.locale.LocaleExtensions].toString()"
    - "[java.lang.Integer].toString()"
    - "[org.testng.internal.MethodInstance].toString()"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].toString()"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$FirstLimiter].toString()"
    - "[java.text.FieldPosition].toString()"
    - "[java.security.Signature].toString()"
    - "[org.yaml.snakeyaml.error.MarkedYAMLException].toString()"
    - "[com.google.common.collect.MapConstraints$NotNullMapConstraint].toString()"
    - "[java.util.BitSet].toString()"
    - "[jdk.internal.perf.PerfCounter].toString()"
    - "[java.awt.datatransfer.MimeTypeParameterList].toString()"
    - "[java.util.concurrent.atomic.AtomicReferenceArray].toString()"
    - "[sun.font.FontStrikeDesc].toString()"
    - "[com.google.common.io.ByteStreams$3].toString()"
    - "[com.netflix.servo.monitor.BucketTimer].toString()"
    - "[com.google.common.collect.Synchronized$SynchronizedObject].toString()"
    - "[com.google.common.io.ByteSource$SlicedByteSource].toString()"
    - "[java.awt.geom.AffineTransform].toString()"
    - "[java.math.MathContext].toString()"
    - "[java.time.temporal.ChronoField].toString()"
    - "[com.netflix.spectator.impl.matcher.StartsWithMatcher].toString()"
    - "[java.awt.image.BufferedImage].toString()"
    - "[java.lang.management.ThreadInfo].toString()"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].toString()"
    - "[com.google.common.collect.ImmutableEnumSet].toString()"
    - "[java.lang.ProcessImpl].toString()"
    - "[java.util.Locale].toString()"
    - "[java.lang.invoke.LambdaForm$Name].toString()"
    - "[org.yaml.snakeyaml.nodes.Tag].toString()"
    - "[org.testng.internal.InvokedMethod].toString()"
    - "[com.netflix.servo.monitor.DoubleGauge].toString()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].toString()"
    - "[java.net.InterfaceAddress].toString()"
    - "[com.netflix.servo.tag.SmallTagMap].toString()"
    - "[java.lang.ProcessBuilder$Redirect$1].toString()"
    - "[com.google.common.hash.Funnels$IntegerFunnel].toString()"
    - "[javax.swing.text.JTextComponent$MutableCaretEvent].toString()"
    - "[com.netflix.spectator.impl.matcher.IgnoreCaseMatcher].toString()"
    - "[org.yaml.snakeyaml.Yaml].toString()"
    - "[com.google.common.collect.Range].toString()"
    - "[java.lang.management.MemoryType].toString()"
    - "[java.awt.GridBagLayout].toString()"
    - "[java.util.concurrent.SynchronousQueue].toString()"
    - "[com.google.common.base.Suppliers$SupplierComposition].toString()"
    - "[java.nio.ByteOrder].toString()"
    - "[java.security.Provider$Service].toString()"
    - "[java.awt.JobAttributes$MultipleDocumentHandlingType].toString()"
    - "[javax.swing.event.EventListenerList].toString()"
    - "[javax.swing.TimerQueue].toString()"
    - "[com.google.common.reflect.Invokable].toString()"
    - "[java.lang.Character$Subset].toString()"
    - "[java.lang.module.ModuleDescriptor$Requires].toString()"
    - "[javax.swing.text.Segment].toString()"
    - "[java.nio.file.attribute.FileTime].toString()"
    - "[com.google.common.collect.CompoundOrdering].toString()"
    - "[java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock].toString()"
    - "[com.google.common.io.Files$FileByteSink].toString()"
    - "[com.netflix.spectator.impl.matcher.PositiveLookaheadMatcher].toString()"
    - "[java.util.concurrent.atomic.AtomicLongArray].toString()"
    - "[bsh.BshMethod].toString()"
    - "[com.netflix.servo.tag.BasicTagList].toString()"
    - "[java.awt.JobAttributes].toString()"
    - "[org.testng.ReporterConfig].toString()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].toString()"
    - "[java.lang.Enum].toString()"
    - "[java.awt.SystemColor].toString()"
    - "[java.lang.invoke.ClassSpecializer$SpeciesData].toString()"
    - "[com.google.common.collect.ConcurrentHashMultiset].toString()"
    - "[com.google.common.collect.TreeBasedTable].toString()"
    - "[com.netflix.servo.monitor.BasicInformational].toString()"
    - "[java.util.concurrent.atomic.LongAdder].toString()"
    - "[com.google.common.base.Enums$StringConverter].toString()"
    - "[com.google.common.util.concurrent.AtomicDoubleArray].toString()"
    - "[com.google.common.util.concurrent.AbstractExecutionThreadService].toString()"
    - "[com.google.common.reflect.Types$GenericArrayTypeImpl].toString()"
    - "[org.testng.xml.XmlClass].toString()"
    - "[java.nio.DoubleBuffer].toString()"
    - "[javax.management.BadStringOperationException].toString()"
    - "[java.lang.module.ModuleDescriptor$Exports].toString()"
    - "[java.lang.module.ModuleDescriptor$Opens].toString()"
    - "[com.netflix.servo.Metric].toString()"
    - "[com.netflix.servo.tag.SortedTagList].toString()"
    - "[com.google.common.collect.Cut$AboveAll].toString()"
    - "[java.net.InetAddress].toString()"
    - "[java.util.concurrent.atomic.AtomicLong].toString()"
    - "[com.google.common.base.Functions$ForMapWithDefault].toString()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].toString()"
    - "[org.slf4j.event.Level].toString()"
    - "[java.lang.Thread].toString()"
    - "[jdk.internal.module.ModuleHashes].toString()"
    - "[java.time.format.DateTimeParseContext].toString()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource].toString()"
    - "[com.netflix.spectator.impl.matcher.FalseMatcher].toString()"
    - "[java.util.concurrent.atomic.AtomicBoolean].toString()"
    - "[org.yaml.snakeyaml.events.Event].toString()"
    - "[com.google.common.collect.EmptyImmutableSortedMap].toString()"
    - "[java.lang.StackTraceElement].toString()"
    - "[com.google.common.reflect.Types$TypeVariableImpl].toString()"
    - "[sun.java2d.loops.SurfaceType].toString()"
    - "[java.security.Provider].toString()"
    - "[bsh.BSHAmbiguousName].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$Version].toString()"
    - "[javax.swing.event.TreeModelEvent].toString()"
    - "[java.lang.StackFrameInfo].toString()"
    - "[com.google.common.collect.Iterables$1].toString()"
    - "[java.awt.AWTEvent].toString()"
    - "[com.google.common.collect.Sets$PowerSet].toString()"
    - "[java.lang.module.Configuration].toString()"
    - "[java.time.temporal.ValueRange].toString()"
    - "[javax.swing.text.TabStop].toString()"
    - "[org.testng.xml.XmlTest].toString()"
    - "[java.lang.invoke.LambdaFormEditor$Transform].toString()"
    - "[javax.swing.event.ListSelectionEvent].toString()"
    - "[org.yaml.snakeyaml.resolver.ResolverTuple].toString()"
    - "[java.util.concurrent.atomic.AtomicReference].toString()"
    - "[com.netflix.servo.monitor.LongGauge].toString()"
    - "[java.lang.ProcessBuilder$RedirectPipeImpl].toString()"
    - "[sun.util.locale.Extension].toString()"
    - "[java.nio.ShortBuffer].toString()"
    - "[com.google.common.io.ByteStreams$1].toString()"
    - "[sun.util.locale.BaseLocale].toString()"
    - "[sun.font.AttributeValues].toString()"
    - "[javax.swing.ImageIcon].toString()"
    - "[java.awt.Point].toString()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].toString()"
    - "[com.google.common.base.Suppliers$SupplierFunctionImpl].toString()"
    - "[java.lang.module.ModuleDescriptor$Provides].toString()"
    - "[com.google.common.collect.HashMultiset].toString()"
    - "[javax.swing.text.StyleConstants].toString()"
    - "[org.testng.remote.strprotocol.TestMessage].toString()"
    - "[com.google.common.io.Files$2].toString()"
    - "[com.google.common.cache.RemovalNotification].toString()"
    - "[java.lang.management.MemoryUsage].toString()"
    - "[org.yaml.snakeyaml.TypeDescription].toString()"
    - "[java.lang.invoke.SerializedLambda].toString()"
    - "[java.util.concurrent.CopyOnWriteArrayList].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper].toString()"
    - "[java.math.MutableBigInteger].toString()"
    - "[java.time.format.DateTimePrintContext].toString()"
    - "[com.netflix.servo.monitor.BasicTimer].toString()"
    - "[java.time.chrono.AbstractChronology].toString()"
    - "[java.nio.LongBuffer].toString()"
    - "[java.text.CalendarBuilder].toString()"
    - "[java.util.concurrent.CountDownLatch].toString()"
    - "[java.util.EventObject].toString()"
    - "[com.netflix.spectator.api.ArrayTagSet].toString()"
    - "[java.lang.reflect.Field].toString()"
    - "[org.testng.remote.strprotocol.GenericMessage].toString()"
    - "[javax.crypto.CryptoPermission].toString()"
    - "[com.netflix.servo.monitor.MonitorConfig].toString()"
    - "[sun.security.util.JarConstraintsParameters].toString()"
    - "[java.util.concurrent.locks.AbstractQueuedSynchronizer].toString()"
    - "[java.util.concurrent.FutureTask].toString()"
    - "[com.google.common.base.Predicates$InstanceOfPredicate].toString()"
    - "[sun.awt.AppContext].toString()"
    - "[com.google.common.net.InternetDomainName].toString()"
    - "[org.testng.SuiteRunnerWorker].toString()"
    - "[jdk.internal.jmod.JmodFile$Entry].toString()"
    - "[com.google.common.base.Equivalence$Wrapper].toString()"
    - "[com.netflix.spectator.api.histogram.BucketFunctions$Bucket].toString()"
    - "[java.lang.Byte].toString()"
    - "[java.awt.image.ColorModel].toString()"
    - "[java.lang.invoke.Invokers].toString()"
    - "[java.util.concurrent.locks.ReentrantReadWriteLock].toString()"
    - "[java.lang.reflect.Parameter].toString()"
    - "[com.netflix.servo.monitor.DynamicCounter].toString()"
    - "[junit.extensions.TestDecorator].toString()"
    - "[javax.swing.JList$DropLocation].toString()"
    - "[com.netflix.servo.util.ExpiringCache$Entry].toString()"
    - "[java.security.CodeSigner].toString()"
    - "[java.lang.StringBuilder].toString()"
    - "[bsh.TargetError].toString()"
    - "[org.yaml.snakeyaml.reader.ReaderException].toString()"
    - "[com.google.common.collect.Count].toString()"
    - "[java.lang.ProcessBuilder$Redirect$5].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$FlowStyle].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$ScalarStyle].toString()"
    - "[java.lang.Module].toString()"
    - "[com.google.common.collect.EnumMultiset].toString()"
    - "[jdk.internal.module.ModuleReferenceImpl].toString()"
    - "[java.nio.ByteBuffer].toString()"
    - "[java.util.concurrent.locks.ReentrantLock].toString()"
    - "[bsh.Variable].toString()"
    - "[com.google.common.primitives.Floats$FloatConverter].toString()"
    - "[java.io.StringWriter].toString()"
    - "[com.google.common.util.concurrent.AtomicLongMap].toString()"
    - "[java.math.BigInteger].toString()"
    - "[java.lang.ThreadGroup].toString()"
    - "[java.awt.Color].toString()"
    - "[java.time.ZoneOffset].toString()"
    - "[com.google.common.util.concurrent.ServiceManager].toString()"
    - "[bsh.Modifiers].toString()"
    - "[java.util.StringJoiner].toString()"
    - "[java.awt.CheckboxGroup].toString()"
    - "[java.util.logging.Level].toString()"
    - "[com.google.common.collect.Cut$BelowAll].toString()"
    - "[com.google.common.collect.NullsLastOrdering].toString()"
    - "[com.google.common.collect.ExplicitOrdering].toString()"
    - "[java.awt.PageAttributes$ColorType].toString()"
    - "[com.netflix.servo.monitor.BasicCounter].toString()"
    - "[com.netflix.spectator.impl.matcher.AnyMatcher].toString()"
    - "[java.util.HashMap].entrySet()"
    - "[java.util.LinkedHashMap].entrySet()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[com.google.common.collect.Maps$10].getKey()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet$1$1].getKey()"
    - "[java.util.WeakHashMap$Entry].getKey()"
    - "[com.google.common.collect.ForwardingMapEntry].getKey()"
    - "[com.google.common.collect.LinkedListMultimap$Node].getKey()"
    - "[java.util.Hashtable$Entry].getKey()"
    - "[com.google.common.collect.TreeRangeMap$RangeMapEntry].getKey()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].getKey()"
    - "[com.google.common.collect.MapMakerInternalMap$WriteThroughEntry].getKey()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1$1$1].getKey()"
    - "[com.google.common.collect.StandardTable$Column$EntrySetIterator$1].getKey()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].getKey()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].getKey()"
    - "[com.google.common.cache.RemovalNotification].getKey()"
    - "[java.util.TreeMap$Entry].getKey()"
    - "[com.google.common.collect.ImmutableEntry].getKey()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1$1].getKey()"
    - "[com.google.common.collect.HashBiMap$EntrySet$1$MapEntry].getKey()"
    - "[com.google.common.collect.Maps$6].getKey()"
    - "[com.google.common.collect.HashBiMap$Inverse$1$1$InverseEntry].getKey()"
    - "[java.util.HashMap$Node].getKey()"
    - "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.publish.JmxMetricPoller].getTagListWithAdditionalTag(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - "[com.netflix.servo.publish.RegexMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.publish.PrefixMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.publish.BasicMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.publish.JmxMetricPoller].addMetric(java.util.List,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    - "[java.util.TreeMap$Entry].getValue()"
    - "[com.google.common.collect.StandardTable$Column$EntrySetIterator$1].getValue()"
    - "[com.google.common.collect.HashBiMap$EntrySet$1$MapEntry].getValue()"
    - "[com.google.common.collect.MapMakerInternalMap$WriteThroughEntry].getValue()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1$1$1].getValue()"
    - "[com.google.common.collect.ForwardingMapEntry].getValue()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].getValue()"
    - "[com.google.common.collect.ImmutableEntry].getValue()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1$1].getValue()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].getValue()"
    - "[com.google.common.collect.HashBiMap$Inverse$1$1$InverseEntry].getValue()"
    - "[com.google.common.collect.Maps$6].getValue()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet$1$1].getValue()"
    - "[com.google.common.collect.TreeRangeMap$RangeMapEntry].getValue()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].getValue()"
    - "[java.util.Hashtable$Entry].getValue()"
    - "[java.util.HashMap$Node].getValue()"
    - "[com.google.common.collect.Maps$10].getValue()"
    - "[com.google.common.collect.MapConstraints$2].getValue()"
    - "[com.google.common.collect.LinkedListMultimap$Node].getValue()"
    - "[com.google.common.cache.RemovalNotification].getValue()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1$1].getValue()"
    - "[java.util.WeakHashMap$Entry].getValue()"
    - "[javax.management.openmbean.CompositeData].get(java.lang.String)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[com.netflix.servo.publish.MetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.util.Map$Entry].getValue()"
    functionUses: 1
    ICount: 31
    EdgeCount: 1002
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:241"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:248"
        BranchSideFuncs:
        - "hasNext()"
        - "getTagListWithAdditionalTag(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag)"
        - "next()"
        - "matches(com.netflix.servo.monitor.MonitorConfig)"
        - "build()"
        - "newTag(java.lang.String,java.lang.String)"
        - "iterator()"
        - "builder(java.lang.String)"
        - "entrySet()"
        - "getKey()"
        - "withTags(com.netflix.servo.tag.TagList)"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:247"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:244"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:247"
        BranchSideFuncs:
        - "getValue()"
        - "addMetric(java.util.List,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:246"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:238,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:240,1"
      Dst: "[javax.management.openmbean.CompositeData].get(java.lang.String)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:240,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:240,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:241,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:241,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:241,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:241,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:242,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:242,1"
      Dst: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:243,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].getTagListWithAdditionalTag(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:244,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:244,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:244,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:244,1"
      Dst: "[com.netflix.servo.publish.MetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:245,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:245,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].addMetric(java.util.List,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].poll(com.netflix.servo.publish.MetricFilter)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.List<Metric>"
    argCount: 1
    argTypes:
    - "com.netflix.servo.publish.MetricFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.JmxMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:271,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: 277
    functionLinenumberEnd: 299
    functionDepth: 0
    returnType: "java.util.List<Metric>"
    argCount: 2
    argTypes:
    - "com.netflix.servo.publish.MetricFilter"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[com.netflix.servo.publish.LocalJmxConnector].getConnection()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[java.util.TreeSet].isEmpty()"
    - "[com.google.common.collect.Maps$KeySet].isEmpty()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].isEmpty()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].isEmpty()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].isEmpty()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].isEmpty()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].isEmpty()"
    - "[com.google.common.collect.Sets$PowerSet].isEmpty()"
    - "[com.google.common.collect.Sets$3].isEmpty()"
    - "[com.google.common.cache.LocalCache$AbstractCacheSet].isEmpty()"
    - "[java.util.HashSet].isEmpty()"
    - "[com.google.common.collect.StandardTable$TableSet].isEmpty()"
    - "[com.google.common.collect.ForwardingCollection].isEmpty()"
    - "[com.google.common.collect.RegularImmutableSortedSet].isEmpty()"
    - "[com.google.common.collect.Sets$1].isEmpty()"
    - "[com.google.common.collect.EmptyImmutableSet].isEmpty()"
    - "[com.google.common.collect.Maps$EntrySet].isEmpty()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].isEmpty()"
    - "[java.util.AbstractCollection].isEmpty()"
    - "[com.google.common.collect.ImmutableEnumSet].isEmpty()"
    - "[java.util.TreeMap$KeySet].isEmpty()"
    - "[com.google.common.collect.Sets$2].isEmpty()"
    - "[java.util.concurrent.ConcurrentHashMap$CollectionView].isEmpty()"
    - "[com.google.common.collect.Collections2$FilteredCollection].isEmpty()"
    - "[com.google.common.collect.EmptyContiguousSet].isEmpty()"
    - "[com.google.common.collect.SingletonImmutableSet].isEmpty()"
    - "[com.google.common.collect.RegularContiguousSet].isEmpty()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].isEmpty()"
    - "[com.google.common.collect.Multisets$ElementSet].isEmpty()"
    - "[java.util.concurrent.CopyOnWriteArraySet].isEmpty()"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.NOPLogger].warn(java.lang.String,java.lang.Object)"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.netflix.servo.publish.JmxMetricPoller].getMetrics(javax.management.MBeanServerConnection,com.netflix.servo.publish.MetricFilter,java.util.List,javax.management.ObjectName)"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.NOPLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.helpers.NOPLogger].warn(java.lang.String,java.lang.Throwable)"
    - "[com.netflix.servo.publish.JmxConnector].getConnection()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[javax.management.MBeanServerConnection].queryNames(javax.management.ObjectName,javax.management.QueryExp)"
    - "[java.util.Set].isEmpty()"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object)"
    - "[java.util.Set].iterator()"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Throwable)"
    functionUses: 2
    ICount: 36
    EdgeCount: 435
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:281"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:297"
        BranchSideFuncs:
        - "isEmpty()"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:296"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:283"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:286"
        BranchSideFuncs:
        - "warn(java.lang.String,java.lang.Object)"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:285"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:286"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:294"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "getMetrics(javax.management.MBeanServerConnection,com.netflix.servo.publish.MetricFilter,java.util.List,javax.management.ObjectName)"
        - "warn(java.lang.String,java.lang.Object,java.lang.Object)"
        - "next()"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:293"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:278,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:280,1"
      Dst: "[com.netflix.servo.publish.JmxConnector].getConnection()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:281,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:281,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:281,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:282,1"
      Dst: "[javax.management.MBeanServerConnection].queryNames(javax.management.ObjectName,javax.management.QueryExp)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:283,1"
      Dst: "[java.util.Set].isEmpty()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:284,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:286,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:288,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].getMetrics(javax.management.MBeanServerConnection,com.netflix.servo.publish.MetricFilter,java.util.List,javax.management.ObjectName)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:290,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:296,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].safelyLoadAttributes(javax.management.MBeanServerConnection,javax.management.ObjectName,java.util.List<String>)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionDepth: 0
    returnType: "java.util.List<Attribute>"
    argCount: 3
    argTypes:
    - "javax.management.MBeanServerConnection"
    - "javax.management.ObjectName"
    - "java.util.List<String>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.JmxMetricPoller].batchLoadAttributes(javax.management.MBeanServerConnection,javax.management.ObjectName,java.util.List)"
    - "[bsh.EvalError].getMessage()"
    - "[sun.nio.fs.UnixException].getMessage()"
    - "[java.nio.file.FileSystemException].getMessage()"
    - "[java.net.URISyntaxException].getMessage()"
    - "[org.xml.sax.SAXException].getMessage()"
    - "[com.google.common.util.concurrent.CycleDetectingLockFactory$PotentialDeadlockException].getMessage()"
    - "[java.awt.HeadlessException].getMessage()"
    - "[org.testng.TimeBombSkipException].getMessage()"
    - "[java.util.regex.PatternSyntaxException].getMessage()"
    - "[bsh.ParseException].getMessage()"
    - "[java.nio.file.InvalidPathException].getMessage()"
    - "[java.lang.Throwable].getMessage()"
    - "[java.io.InvalidClassException].getMessage()"
    - "[org.slf4j.event.EventRecodingLogger].info(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].info(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.NOPLogger].info(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[com.netflix.servo.publish.JmxMetricPoller].individuallyLoadAttributes(javax.management.MBeanServerConnection,javax.management.ObjectName,java.util.List)"
    - "[org.slf4j.Logger].info(java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 11
    EdgeCount: 18
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:310,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].batchLoadAttributes(javax.management.MBeanServerConnection,javax.management.ObjectName,java.util.List)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:314,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:314,1"
      Dst: "[org.slf4j.Logger].info(java.lang.String,java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:317,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].individuallyLoadAttributes(javax.management.MBeanServerConnection,javax.management.ObjectName,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].batchLoadAttributes(javax.management.MBeanServerConnection,javax.management.ObjectName,java.util.List<String>)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionDepth: 0
    returnType: "java.util.List<Attribute>"
    argCount: 3
    argTypes:
    - "javax.management.MBeanServerConnection"
    - "javax.management.ObjectName"
    - "java.util.List<String>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Lists$StringAsImmutableList].size()"
    - "[com.google.common.collect.LinkedListMultimap$4].size()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].size()"
    - "[com.google.common.collect.LinkedListMultimap$1].size()"
    - "[com.google.common.collect.Lists$AbstractListWrapper].size()"
    - "[com.google.common.collect.Sets$CartesianSet$1].size()"
    - "[com.google.common.base.Joiner$3].size()"
    - "[com.google.common.collect.ImmutableRangeMap$1].size()"
    - "[com.google.common.collect.ForwardingCollection].size()"
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].size()"
    - "[com.google.common.collect.ImmutableAsList].size()"
    - "[com.google.common.collect.CartesianList$1].size()"
    - "[com.google.common.collect.Lists$CharSequenceAsList].size()"
    - "[com.google.common.collect.Lists$Partition].size()"
    - "[com.google.common.collect.Lists$ReverseList].size()"
    - "[com.google.common.collect.RegularImmutableTable$Values].size()"
    - "[com.google.common.collect.CartesianList].size()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].size()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].size()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].size()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].size()"
    - "[com.google.common.collect.RegularImmutableList].size()"
    - "[java.util.LinkedList].size()"
    - "[com.google.common.collect.Lists$TransformingSequentialList].size()"
    - "[com.google.common.collect.SingletonImmutableList].size()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].size()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].size()"
    - "[java.util.ArrayList].size()"
    - "[com.google.common.collect.Lists$OnePlusArrayList].size()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].size()"
    - "[com.google.common.collect.LinkedListMultimap$3].size()"
    - "[com.google.common.collect.ImmutableList$SubList].size()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].size()"
    - "[com.google.common.collect.Lists$TwoPlusArrayList].size()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].size()"
    - "[sun.awt.util.IdentityArrayList].size()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].size()"
    - "[java.util.Vector].size()"
    - "[com.google.common.collect.ImmutableRangeSet$ComplementRanges].size()"
    - "[com.google.common.collect.ImmutableRangeSet$1].size()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].toArray(java.lang.Object[])"
    - "[com.google.common.collect.ImmutableCollection].toArray(java.lang.Object[])"
    - "[java.util.ArrayList].toArray(java.lang.Object[])"
    - "[java.util.AbstractCollection].toArray(java.lang.Object[])"
    - "[java.util.concurrent.CopyOnWriteArrayList].toArray(java.lang.Object[])"
    - "[com.google.common.collect.ForwardingCollection].toArray(java.lang.Object[])"
    - "[java.util.Vector].toArray(java.lang.Object[])"
    - "[sun.awt.util.IdentityArrayList].toArray(java.lang.Object[])"
    - "[java.util.LinkedList].toArray(java.lang.Object[])"
    - "[javax.management.AttributeList].asList()"
    - "[java.util.List].size()"
    - "[java.util.List].toArray(java.lang.Object[])"
    - "[javax.management.MBeanServerConnection].getAttributes(javax.management.ObjectName,java.lang.String[])"
    functionUses: 1
    ICount: 10
    EdgeCount: 51
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:324,1"
      Dst: "[java.util.List].size()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:324,1"
      Dst: "[java.util.List].toArray(java.lang.Object[])"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:325,1"
      Dst: "[javax.management.MBeanServerConnection].getAttributes(javax.management.ObjectName,java.lang.String[])"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:325,1"
      Dst: "[javax.management.AttributeList].asList()"
    JavaMethodInfo:
      exceptions:
      - "javax.management.InstanceNotFoundException"
      - "javax.management.ReflectionException"
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].individuallyLoadAttributes(javax.management.MBeanServerConnection,javax.management.ObjectName,java.util.List<String>)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: 329
    functionLinenumberEnd: 341
    functionDepth: 0
    returnType: "java.util.List<Attribute>"
    argCount: 3
    argTypes:
    - "javax.management.MBeanServerConnection"
    - "javax.management.ObjectName"
    - "java.util.List<String>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[javax.management.Attribute].<init>(java.lang.String,java.lang.Object)"
    - "[javax.management.AttributeList].add(java.lang.Object)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[org.slf4j.event.EventRecodingLogger].info(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].info(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.NOPLogger].info(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[bsh.EvalError].getMessage()"
    - "[sun.nio.fs.UnixException].getMessage()"
    - "[java.nio.file.FileSystemException].getMessage()"
    - "[java.net.URISyntaxException].getMessage()"
    - "[org.xml.sax.SAXException].getMessage()"
    - "[com.google.common.util.concurrent.CycleDetectingLockFactory$PotentialDeadlockException].getMessage()"
    - "[java.awt.HeadlessException].getMessage()"
    - "[org.testng.TimeBombSkipException].getMessage()"
    - "[java.util.regex.PatternSyntaxException].getMessage()"
    - "[bsh.ParseException].getMessage()"
    - "[java.nio.file.InvalidPathException].getMessage()"
    - "[java.lang.Throwable].getMessage()"
    - "[java.io.InvalidClassException].getMessage()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[javax.management.MBeanServerConnection].getAttribute(javax.management.ObjectName,java.lang.String)"
    - "[java.util.List].add(java.lang.Object)"
    - "[org.slf4j.Logger].info(java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 25
    EdgeCount: 181
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.JmxMetricPoller:331"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:340"
        BranchSideFuncs:
        - "<init>(java.lang.String,java.lang.Object)"
        - "info(java.lang.String,java.lang.Object,java.lang.Object)"
        - "hasNext()"
        - "add(java.lang.Object)"
        - "iterator()"
        - "next()"
        - "getMessage()"
      - BranchSide: "com.netflix.servo.publish.JmxMetricPoller:339"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:330,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:331,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:331,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:331,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:333,1"
      Dst: "[javax.management.MBeanServerConnection].getAttribute(javax.management.ObjectName,java.lang.String)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:334,1"
      Dst: "[javax.management.Attribute].<init>(java.lang.String,java.lang.Object)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:334,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:337,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.netflix.servo.publish.JmxMetricPoller:336,1"
      Dst: "[org.slf4j.Logger].info(java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].lambda$getMetrics$1(com.netflix.servo.publish.MetricFilter,java.util.List,com.netflix.servo.tag.TagList,java.lang.String,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionDepth: 0
    returnType: "void"
    argCount: 5
    argTypes:
    - "com.netflix.servo.publish.MetricFilter"
    - "java.util.List"
    - "com.netflix.servo.tag.TagList"
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.JmxMetricPoller].addTabularMetrics(com.netflix.servo.publish.MetricFilter,java.util.List,com.netflix.servo.tag.TagList,java.lang.String,javax.management.openmbean.CompositeData)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller:213,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].addTabularMetrics(com.netflix.servo.publish.MetricFilter,java.util.List,com.netflix.servo.tag.TagList,java.lang.String,javax.management.openmbean.CompositeData)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller].lambda$getMetrics$0(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleCounter].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleCounter"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.StepLong].<init>(long,com.netflix.servo.util.Clock)"
    - "[com.netflix.servo.SpectatorContext].counter(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 2
    ICount: 13
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleCounter:47,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:47,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:49,1"
      Dst: "[com.netflix.servo.monitor.StepLong].<init>(long,com.netflix.servo.util.Clock)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:50,1"
      Dst: "[com.netflix.servo.SpectatorContext].counter(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleCounter].add(java.util.concurrent.atomic.AtomicLong,double)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleCounter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.concurrent.atomic.AtomicLong"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.lang.Double].longBitsToDouble(long)"
    - "[java.lang.Double].doubleToLongBits(double)"
    - "[java.util.concurrent.atomic.AtomicLong].compareAndSet(long,long)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.DoubleCounter:61"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleCounter:58"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DoubleCounter:57"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleCounter:58,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.servo.monitor.DoubleCounter:59,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:60,1"
      Dst: "[java.lang.Double].doubleToLongBits(double)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:61,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].compareAndSet(long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.DoubleCounter].increment(double)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleCounter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyCounter].add(double)"
    - "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - "[com.netflix.servo.monitor.DoubleCounter].add(java.util.concurrent.atomic.AtomicLong,double)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.DoubleCounter:69"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleCounter:74"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DoubleCounter:73"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.DoubleCounter:70"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleCounter:73"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleCounter:68,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyCounter].add(double)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:71,1"
      Dst: "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:71,1"
      Dst: "[com.netflix.servo.monitor.DoubleCounter].add(java.util.concurrent.atomic.AtomicLong,double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.SpectatorContext$LazyCounter].add(double)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyCounter"
    linkageType: ""
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.DefaultCounter].add(double)"
    - "[com.netflix.spectator.api.patterns.IntervalCounter].add(double)"
    - "[com.netflix.servo.SpectatorContext$LazyCounter].add(double)"
    - "[com.netflix.spectator.api.CompositeCounter].add(double)"
    - "[com.netflix.spectator.api.SwapCounter].add(double)"
    - "[com.netflix.spectator.api.NoopCounter].add(double)"
    - "[com.netflix.servo.SpectatorContext$LazyCounter].get()"
    - "[com.netflix.spectator.api.Counter].add(double)"
    functionUses: 6
    ICount: 5
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyCounter:288,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyCounter].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyCounter:288,1"
      Dst: "[com.netflix.spectator.api.Counter].add(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyCounter].get()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyCounter"
    linkageType: ""
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionDepth: 0
    returnType: "com.netflix.spectator.api.Counter"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.ExtendedRegistry].counter(com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.CompositeRegistry].counter(com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.AbstractRegistry].counter(com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.NoopRegistry].counter(com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.Registry].counter(com.netflix.spectator.api.Id)"
    functionUses: 4
    ICount: 9
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.netflix.servo.SpectatorContext$LazyCounter:280"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext$LazyCounter:284"
        BranchSideFuncs:
        - "counter(com.netflix.spectator.api.Id)"
      - BranchSide: "com.netflix.servo.SpectatorContext$LazyCounter:283"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyCounter:281,1"
      Dst: "[com.netflix.spectator.api.Registry].counter(com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    functionSourceFile: "com.netflix.servo.monitor.StepLong"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionDepth: 1
    returnType: "java.util.concurrent.atomic.AtomicLong"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ManualClock].now()"
    - "[com.netflix.servo.util.ClockWithOffset].now()"
    - "[com.netflix.servo.monitor.StepLong].rollCount(int,long)"
    - "[com.netflix.servo.util.Clock].now()"
    functionUses: 6
    ICount: 10
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StepLong:74,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    - Src: "com.netflix.servo.monitor.StepLong:74,1"
      Dst: "[com.netflix.servo.monitor.StepLong].rollCount(int,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StepLong].rollCount(int,long)"
    functionSourceFile: "com.netflix.servo.monitor.StepLong"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.util.concurrent.atomic.AtomicLong].compareAndSet(long,long)"
    - "[java.util.concurrent.atomic.AtomicLong].getAndSet(long)"
    - "[java.util.concurrent.atomic.AtomicLong].set(long)"
    functionUses: 2
    ICount: 34
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StepLong:62"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StepLong:71"
        BranchSideFuncs:
        - "set(long)"
        - "getAndSet(long)"
      - BranchSide: "com.netflix.servo.monitor.StepLong:70"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.StepLong:62"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StepLong:71"
        BranchSideFuncs:
        - "set(long)"
        - "getAndSet(long)"
      - BranchSide: "com.netflix.servo.monitor.StepLong:70"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.StepLong:69"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StepLong:62"
        BranchSideFuncs:
        - "set(long)"
        - "getAndSet(long)"
    Callsites:
    - Src: "com.netflix.servo.monitor.StepLong:61,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.servo.monitor.StepLong:62,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].compareAndSet(long,long)"
    - Src: "com.netflix.servo.monitor.StepLong:65,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].getAndSet(long)"
    - Src: "com.netflix.servo.monitor.StepLong:69,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].set(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.DoubleCounter].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleCounter"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionDepth: 2
    returnType: "java.lang.Number"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepLong].poll(int)"
    - "[java.lang.Double].longBitsToDouble(long)"
    - "[java.lang.Double].valueOf(double)"
    functionUses: 4
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleCounter:78,1"
      Dst: "[com.netflix.servo.monitor.StepLong].poll(int)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:80,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:80,1"
      Dst: "[java.lang.Double].valueOf(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StepLong].poll(int)"
    functionSourceFile: "com.netflix.servo.monitor.StepLong"
    linkageType: ""
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionDepth: 1
    returnType: "long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ManualClock].now()"
    - "[com.netflix.servo.util.ClockWithOffset].now()"
    - "[com.netflix.servo.monitor.StepLong].rollCount(int,long)"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[com.netflix.servo.util.Clock].now()"
    functionUses: 6
    ICount: 11
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StepLong:79,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    - Src: "com.netflix.servo.monitor.StepLong:79,1"
      Dst: "[com.netflix.servo.monitor.StepLong].rollCount(int,long)"
    - Src: "com.netflix.servo.monitor.StepLong:82,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleCounter].getCurrentCount(int)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleCounter"
    linkageType: ""
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionDepth: 2
    returnType: "double"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - "[java.lang.Double].longBitsToDouble(long)"
    functionUses: 1
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleCounter:88,1"
      Dst: "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:88,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.servo.monitor.DoubleCounter:88,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleCounter"
    linkageType: ""
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.SpectatorContext$LazyCounter].setId(com.netflix.spectator.api.Id)"
    functionUses: 8
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleCounter:96,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:96,1"
      Dst: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:97,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyCounter].setId(com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig"
    linkageType: ""
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionDepth: 6
    returnType: "com.netflix.servo.monitor.MonitorConfig"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.MonitorConfig].copy()"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    functionUses: 14
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig:251,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].copy()"
    - Src: "com.netflix.servo.monitor.MonitorConfig:251,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.MonitorConfig:251,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig].copy()"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig"
    linkageType: ""
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionDepth: 5
    returnType: "com.netflix.servo.monitor.MonitorConfig$Builder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withPublishingPolicy(com.netflix.servo.monitor.PublishingPolicy)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    functionUses: 2
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig:237,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.monitor.MonitorConfig:237,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.MonitorConfig:237,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withPublishingPolicy(com.netflix.servo.monitor.PublishingPolicy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig$Builder].withPublishingPolicy(com.netflix.servo.monitor.PublishingPolicy)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig$Builder"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionDepth: 0
    returnType: "com.netflix.servo.monitor.MonitorConfig$Builder"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.PublishingPolicy"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyCounter].setId(com.netflix.spectator.api.Id)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyCounter"
    linkageType: ""
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.spectator.api.Id"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleCounter].toString()"
    functionSourceFile: "com.netflix.servo.monitor.DoubleCounter"
    linkageType: ""
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(char)"
    - "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - "[java.lang.Double].longBitsToDouble(long)"
    - "[java.util.concurrent.atomic.AtomicLong].longValue()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(double)"
    functionUses: 39
    ICount: 15
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleCounter:102,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.DoubleCounter:102,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:102,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:104,1"
      Dst: "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:104,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].longValue()"
    - Src: "com.netflix.servo.monitor.DoubleCounter:104,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:104,1"
      Dst: "[java.lang.StringBuilder].append(double)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:104,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:104,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleCounter].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleCounter"
    linkageType: ""
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object:java.util.Objects].getClass()"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleCounter].getValue(int)"
    - "[java.lang.Object].getClass()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    functionUses: 42
    ICount: 22
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.DoubleCounter:110"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleCounter:113"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DoubleCounter:112"
        BranchSideFuncs:
        - "getClass()"
    - Branch String: "com.netflix.servo.monitor.DoubleCounter:113"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleCounter:114"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DoubleCounter:113"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.DoubleCounter:113"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleCounter:116"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DoubleCounter:115"
        BranchSideFuncs:
        - "getValue(int)"
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.servo.monitor.DoubleCounter:117"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleCounter:115"
        BranchSideFuncs:
        - "getValue(int)"
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.servo.monitor.DoubleCounter:117"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleCounter:115"
        BranchSideFuncs:
        - "getValue(int)"
        - "equals(java.lang.Object)"
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleCounter:113,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.monitor.DoubleCounter:117,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:117,1"
      Dst: "[com.netflix.servo.monitor.DoubleCounter].getValue(int)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:117,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig"
    linkageType: ""
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - "[com.netflix.servo.tag.BasicTagList].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.SortedTagList].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].getPublishingPolicy()"
    functionUses: 63
    ICount: 25
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.MonitorConfig:195"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig:198"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig:197"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.MonitorConfig:198"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig:199"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig:198"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.MonitorConfig:198"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig:201"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig:200"
        BranchSideFuncs:
        - "getName()"
    - Branch String: "com.netflix.servo.monitor.MonitorConfig:202"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig:-1"
        BranchSideFuncs:
        - "getTags()"
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.MonitorConfig:203"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "getPublishingPolicy()"
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.MonitorConfig:204"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig:202,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - Src: "com.netflix.servo.monitor.MonitorConfig:202,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.MonitorConfig:203,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - Src: "com.netflix.servo.monitor.MonitorConfig:203,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.MonitorConfig:204,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getPublishingPolicy()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[com.netflix.servo.monitor.MonitorConfig].getPublishingPolicy()"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig"
    linkageType: ""
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionDepth: 0
    returnType: "com.netflix.servo.monitor.PublishingPolicy"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleCounter].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.DoubleCounter"
    linkageType: ""
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DoubleCounter].getValue(int)"
    - "[java.util.Objects].hash(java.lang.Object[])"
    functionUses: 42
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleCounter:122,1"
      Dst: "[com.netflix.servo.monitor.DoubleCounter].getValue(int)"
    - Src: "com.netflix.servo.monitor.DoubleCounter:122,1"
      Dst: "[java.util.Objects].hash(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadFactories].<init>()"
    functionSourceFile: "com.netflix.servo.util.ThreadFactories"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadFactories:27,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadFactories].withName(java.lang.String)"
    functionSourceFile: "com.netflix.servo.util.ThreadFactories"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionDepth: 1
    returnType: "java.util.concurrent.ThreadFactory"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadFactories$1].<init>(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadFactories:39,1"
      Dst: "[com.netflix.servo.util.ThreadFactories$1].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadFactories$1].<init>(java.lang.String)"
    functionSourceFile: "com.netflix.servo.util.ThreadFactories$1"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadFactories$1:39,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.util.ThreadFactories$1:40,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadFactories].access$000()"
    functionSourceFile: "com.netflix.servo.util.ThreadFactories"
    linkageType: ""
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionDepth: 0
    returnType: "java.util.concurrent.ThreadFactory"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleGauge].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleGauge"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.google.common.util.concurrent.AtomicDouble].<init>(double)"
    - "[com.netflix.servo.SpectatorContext].gauge(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleGauge:40,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.DoubleGauge:40,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.DoubleGauge:42,1"
      Dst: "[com.google.common.util.concurrent.AtomicDouble].<init>(double)"
    - Src: "com.netflix.servo.monitor.DoubleGauge:43,1"
      Dst: "[com.netflix.servo.SpectatorContext].gauge(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleGauge].set(java.lang.Double)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].doubleValue()"
    - "[com.netflix.servo.SpectatorContext$LazyGauge].set(double)"
    - "[com.google.common.util.concurrent.AtomicDouble].set(double)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleGauge:50,1"
      Dst: "[java.lang.Double].doubleValue()"
    - Src: "com.netflix.servo.monitor.DoubleGauge:50,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyGauge].set(double)"
    - Src: "com.netflix.servo.monitor.DoubleGauge:51,1"
      Dst: "[com.google.common.util.concurrent.AtomicDouble].set(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyGauge].set(double)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyGauge"
    linkageType: ""
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyGauge].get()"
    - "[com.netflix.spectator.api.CompositeGauge].set(double)"
    - "[com.netflix.spectator.api.DefaultGauge].set(double)"
    - "[com.netflix.servo.SpectatorContext$LazyGauge].set(double)"
    - "[com.netflix.spectator.api.DefaultMaxGauge].set(double)"
    - "[com.netflix.spectator.api.SwapGauge].set(double)"
    - "[com.netflix.spectator.api.SwapMaxGauge].set(double)"
    - "[com.netflix.spectator.api.NoopGauge].set(double)"
    - "[com.netflix.spectator.api.Gauge].set(double)"
    functionUses: 6
    ICount: 5
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyGauge:455,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyGauge].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyGauge:455,1"
      Dst: "[com.netflix.spectator.api.Gauge].set(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyGauge].get()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyGauge"
    linkageType: ""
    functionLinenumber: 433
    functionLinenumberEnd: 440
    functionDepth: 0
    returnType: "com.netflix.spectator.api.Gauge"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.logger.LazyLoggers$1].apply(java.lang.Object,java.lang.Object)"
    - "[java.util.function.BiFunction].apply(java.lang.Object,java.lang.Object)"
    functionUses: 4
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.netflix.servo.SpectatorContext$LazyGauge:435"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext$LazyGauge:439"
        BranchSideFuncs:
        - "apply(java.lang.Object,java.lang.Object)"
      - BranchSide: "com.netflix.servo.SpectatorContext$LazyGauge:438"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyGauge:436,1"
      Dst: "[java.util.function.BiFunction].apply(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.DoubleGauge].getNumber()"
    functionSourceFile: "com.netflix.servo.monitor.DoubleGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.google.common.util.concurrent.AtomicDouble"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleGauge"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.SpectatorContext$LazyGauge].setId(com.netflix.spectator.api.Id)"
    functionUses: 6
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleGauge:66,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.DoubleGauge:66,1"
      Dst: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.DoubleGauge:67,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyGauge].setId(com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyGauge].setId(com.netflix.spectator.api.Id)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyGauge"
    linkageType: ""
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.spectator.api.Id"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleGauge].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleGauge"
    linkageType: ""
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[java.lang.Double].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    functionUses: 41
    ICount: 23
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.DoubleGauge:75"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleGauge:79"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DoubleGauge:78"
        BranchSideFuncs:
        - "getClass()"
    - Branch String: "com.netflix.servo.monitor.DoubleGauge:79"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleGauge:80"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DoubleGauge:79"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.DoubleGauge:79"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleGauge:83"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DoubleGauge:82"
        BranchSideFuncs:
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.DoubleGauge:85"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleGauge:83"
        BranchSideFuncs:
        - "getValue()"
        - "equals(java.lang.Object)"
      - BranchSide: "com.netflix.servo.monitor.DoubleGauge:82"
        BranchSideFuncs:
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.DoubleGauge:86"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleGauge:82"
        BranchSideFuncs:
        - "getConfig()"
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleGauge:79,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.monitor.DoubleGauge:85,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.DoubleGauge:85,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.DoubleGauge:86,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    - Src: "com.netflix.servo.monitor.DoubleGauge:86,1"
      Dst: "[java.lang.Double].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.DoubleGauge].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.DoubleGauge"
    linkageType: ""
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.google.common.util.concurrent.AtomicDouble].get()"
    - "[java.lang.Double].hashCode()"
    - "[java.lang.Double].valueOf(double)"
    functionUses: 41
    ICount: 10
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleGauge:94,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.DoubleGauge:95,1"
      Dst: "[com.google.common.util.concurrent.AtomicDouble].get()"
    - Src: "com.netflix.servo.monitor.DoubleGauge:95,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.netflix.servo.monitor.DoubleGauge:95,1"
      Dst: "[java.lang.Double].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig"
    linkageType: ""
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicInteger].get()"
    - "[java.lang.String].hashCode()"
    - "[com.netflix.servo.tag.BasicTagList].hashCode()"
    - "[com.netflix.servo.tag.SortedTagList].hashCode()"
    - "[java.lang.Object].hashCode()"
    - "[java.util.concurrent.atomic.AtomicInteger].set(int)"
    functionUses: 63
    ICount: 18
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.MonitorConfig:216"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig:222"
        BranchSideFuncs:
        - "set(int)"
        - "hashCode()"
      - BranchSide: "com.netflix.servo.monitor.MonitorConfig:221"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig:215,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].get()"
    - Src: "com.netflix.servo.monitor.MonitorConfig:217,1"
      Dst: "[java.lang.String].hashCode()"
    - Src: "com.netflix.servo.monitor.MonitorConfig:218,1"
      Dst: "[java.lang.Object].hashCode()"
    - Src: "com.netflix.servo.monitor.MonitorConfig:220,1"
      Dst: "[java.util.concurrent.atomic.AtomicInteger].set(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.DoubleGauge].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleGauge"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionDepth: 0
    returnType: "java.lang.Double"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.util.concurrent.AtomicDouble].get()"
    - "[java.lang.Double].valueOf(double)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleGauge:107,1"
      Dst: "[com.google.common.util.concurrent.AtomicDouble].get()"
    - Src: "com.netflix.servo.monitor.DoubleGauge:107,1"
      Dst: "[java.lang.Double].valueOf(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleGauge].toString()"
    functionSourceFile: "com.netflix.servo.monitor.DoubleGauge"
    linkageType: ""
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 39
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleGauge:115,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.DoubleGauge:115,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DoubleGauge:115,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.DoubleGauge:115,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.DoubleGauge:115,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller$add__63].accept(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller$add__63"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller$add__63:-1,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.LocalJmxConnector].<init>()"
    functionSourceFile: "com.netflix.servo.publish.LocalJmxConnector"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.LocalJmxConnector:24,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.LocalJmxConnector].getConnection()"
    functionSourceFile: "com.netflix.servo.publish.LocalJmxConnector"
    linkageType: ""
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionDepth: 0
    returnType: "javax.management.MBeanServerConnection"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.management.ManagementFactory].getPlatformMBeanServer()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.LocalJmxConnector:29,1"
      Dst: "[java.lang.management.ManagementFactory].getPlatformMBeanServer()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$6].<init>(java.lang.Iterable,com.google.common.base.Predicate)"
    functionSourceFile: "com.google.common.collect.Iterables$6"
    linkageType: ""
    functionLinenumber: 581
    functionLinenumberEnd: 583
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "com.google.common.base.Predicate"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.FluentIterable].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$6:582,1"
      Dst: "[com.google.common.collect.FluentIterable].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$6].iterator()"
    functionSourceFile: "com.google.common.collect.Iterables$6"
    linkageType: ""
    functionLinenumber: 584
    functionLinenumberEnd: 586
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterators].filter(java.util.Iterator,com.google.common.base.Predicate)"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[java.lang.Iterable].iterator()"
    functionUses: 56
    ICount: 6
    EdgeCount: 179
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$6:585,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables$6:585,1"
      Dst: "[com.google.common.collect.Iterators].filter(java.util.Iterator,com.google.common.base.Predicate)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.ManualClock].<init>()"
    functionSourceFile: "com.netflix.spectator.api.ManualClock"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.ManualClock].<init>(long,long)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.api.ManualClock:31,1"
      Dst: "[com.netflix.spectator.api.ManualClock].<init>(long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.ManualClock].<init>(long,long)"
    functionSourceFile: "com.netflix.spectator.api.ManualClock"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.api.ManualClock:42,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.spectator.api.ManualClock:43,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.ManualClock].wallTime()"
    functionSourceFile: "com.netflix.spectator.api.ManualClock"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    functionUses: 15
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.api.ManualClock:48,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.ManualClock].monotonicTime()"
    functionSourceFile: "com.netflix.spectator.api.ManualClock"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    functionUses: 16
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.api.ManualClock:52,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.ManualClock].setWallTime(long)"
    functionSourceFile: "com.netflix.spectator.api.ManualClock"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].set(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.api.ManualClock:57,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].set(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.ManualClock].setMonotonicTime(long)"
    functionSourceFile: "com.netflix.spectator.api.ManualClock"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].set(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.api.ManualClock:62,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].set(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.PollRunnable].<init>(com.netflix.servo.publish.MetricPoller,com.netflix.servo.publish.MetricFilter,java.util.Collection)"
    functionSourceFile: "com.netflix.servo.publish.PollRunnable"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.publish.MetricPoller"
    - "com.netflix.servo.publish.MetricFilter"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.PollRunnable].<init>(com.netflix.servo.publish.MetricPoller,com.netflix.servo.publish.MetricFilter,boolean,java.util.Collection)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.PollRunnable:47,1"
      Dst: "[com.netflix.servo.publish.PollRunnable].<init>(com.netflix.servo.publish.MetricPoller,com.netflix.servo.publish.MetricFilter,boolean,java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.PollRunnable].<init>(com.netflix.servo.publish.MetricPoller,com.netflix.servo.publish.MetricFilter,boolean,java.util.Collection)"
    functionSourceFile: "com.netflix.servo.publish.PollRunnable"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.netflix.servo.publish.MetricPoller"
    - "com.netflix.servo.publish.MetricFilter"
    - "boolean"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[com.netflix.servo.util.UnmodifiableList].copyOf(java.lang.Iterable)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.PollRunnable:58,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.publish.PollRunnable:59,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.publish.PollRunnable:62,1"
      Dst: "[com.netflix.servo.util.UnmodifiableList].copyOf(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.PollRunnable].<init>(com.netflix.servo.publish.MetricPoller,com.netflix.servo.publish.MetricFilter,com.netflix.servo.publish.MetricObserver[])"
    functionSourceFile: "com.netflix.servo.publish.PollRunnable"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.publish.MetricPoller"
    - "com.netflix.servo.publish.MetricFilter"
    - "com.netflix.servo.publish.MetricObserver[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.UnmodifiableList].copyOf(java.lang.Object[])"
    - "[com.netflix.servo.publish.PollRunnable].<init>(com.netflix.servo.publish.MetricPoller,com.netflix.servo.publish.MetricFilter,boolean,java.util.Collection)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.PollRunnable:73,1"
      Dst: "[com.netflix.servo.util.UnmodifiableList].copyOf(java.lang.Object[])"
    - Src: "com.netflix.servo.publish.PollRunnable:73,1"
      Dst: "[com.netflix.servo.publish.PollRunnable].<init>(com.netflix.servo.publish.MetricPoller,com.netflix.servo.publish.MetricFilter,boolean,java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.PollRunnable].run()"
    functionSourceFile: "com.netflix.servo.publish.PollRunnable"
    linkageType: ""
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.BaseMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    - "[com.netflix.servo.publish.JmxMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    - "[com.netflix.servo.publish.MonitorRegistryMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    - "[com.netflix.servo.publish.CompositeMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    - "[com.netflix.servo.publish.JvmMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[com.netflix.servo.publish.CounterToRateMetricTransform].update(java.util.List)"
    - "[com.netflix.servo.publish.MetricTransformObserver].update(java.util.List)"
    - "[com.netflix.servo.publish.NormalizationTransform].update(java.util.List)"
    - "[com.netflix.servo.publish.BaseMetricObserver].update(java.util.List)"
    - "[com.netflix.servo.publish.NormalizationTransform].getName()"
    - "[com.netflix.servo.publish.CounterToRateMetricTransform].getName()"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String,java.lang.Throwable)"
    - "[com.google.common.cache.LocalCache$HashIterator:com.google.common.collect.AbstractIndexedListIterator:com.google.common.collect.AbstractSequentialIterator:com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1:com.google.common.collect.Iterators$1:com.google.common.collect.Iterators$12:com.google.common.collect.Iterators$2:com.google.common.collect.LinkedListMultimap$ValueForKeyIterator:com.google.common.collect.MapMakerInternalMap$HashIterator:com.google.common.collect.Sets$SubSet$1:com.netflix.servo.publish.BaseMetricObserver:com.netflix.servo.publish.MetricTransformObserver:com.netflix.spectator.api.FilteredIterator:com.netflix.spectator.api.TagList$1:java.io.BufferedReader$1:java.nio.file.FileTreeIterator:java.nio.file.Files$2:java.util.AbstractList:java.util.AbstractSequentialList:java.util.ArrayList:java.util.Vector:java.util.concurrent.ArrayBlockingQueue$Itr:java.util.concurrent.CopyOnWriteArrayList:org.slf4j.helpers.NOPLogger:org.testng.internal.ArrayIterator].warn(java.lang.String,java.lang.Throwable)"
    - "[com.netflix.servo.publish.MetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.publish.MetricObserver].update(java.util.List)"
    - "[com.netflix.servo.publish.MetricObserver].getName()"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Throwable)"
    functionUses: 28
    ICount: 23
    EdgeCount: 151
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.PollRunnable:83"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.PollRunnable:92"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "getName()"
        - "update(java.util.List)"
        - "warn(java.lang.String,java.lang.Object,java.lang.Object)"
        - "next()"
      - BranchSide: "com.netflix.servo.publish.PollRunnable:91"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.PollRunnable:82,1"
      Dst: "[com.netflix.servo.publish.MetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    - Src: "com.netflix.servo.publish.PollRunnable:83,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.publish.PollRunnable:83,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.PollRunnable:83,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.PollRunnable:85,1"
      Dst: "[com.netflix.servo.publish.MetricObserver].update(java.util.List)"
    - Src: "com.netflix.servo.publish.PollRunnable:87,1"
      Dst: "[com.netflix.servo.publish.MetricObserver].getName()"
    - Src: "com.netflix.servo.publish.PollRunnable:87,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.publish.PollRunnable:91,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.BucketTimer$lambda_initializeSpectator_0__24].bootstrap$(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer$lambda_initializeSpectator_0__24"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.Consumer"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BucketTimer$lambda_initializeSpectator_0__24].<init>(com.netflix.servo.tag.TagList)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer$lambda_initializeSpectator_0__24:-1,1"
      Dst: "[com.netflix.servo.monitor.BucketTimer$lambda_initializeSpectator_0__24].<init>(com.netflix.servo.tag.TagList)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketTimer$lambda_initializeSpectator_0__24].<init>(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer$lambda_initializeSpectator_0__24"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer$lambda_initializeSpectator_0__24:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketTimer$lambda_initializeSpectator_0__24].accept(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer$lambda_initializeSpectator_0__24"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BucketTimer].lambda$initializeSpectator$0(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer$lambda_initializeSpectator_0__24:-1,1"
      Dst: "[com.netflix.servo.monitor.BucketTimer].lambda$initializeSpectator$0(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketTimer].lambda$initializeSpectator$0(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.tag.TagList"
    - "com.netflix.servo.monitor.Monitor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DoubleMaxGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.NumberGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.StatsMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BucketTimer].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.StepCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DoubleCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DynamicCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.LongGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DynamicGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DynamicTimer].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DoubleGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MaxGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicTimer].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.SpectatorMonitorWrapper].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.SpectatorMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionUses: 1
    ICount: 7
    EdgeCount: 20
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BucketTimer:149"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:152"
        BranchSideFuncs:
        - "initializeSpectator(com.netflix.servo.tag.TagList)"
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:151"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer:150,1"
      Dst: "[com.netflix.servo.monitor.SpectatorMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.jmx.ObjectNameBuilder].sanitizeValue(java.lang.String)"
    functionSourceFile: "com.netflix.servo.jmx.ObjectNameBuilder"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].replaceAll(java.lang.String)"
    functionUses: 3
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:49,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:49,1"
      Dst: "[java.util.regex.Matcher].replaceAll(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.ObjectNameBuilder].forDomain(java.lang.String)"
    functionSourceFile: "com.netflix.servo.jmx.ObjectNameBuilder"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionDepth: 2
    returnType: "com.netflix.servo.jmx.ObjectNameBuilder"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.jmx.ObjectNameBuilder].<init>(java.lang.String)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:59,1"
      Dst: "[com.netflix.servo.jmx.ObjectNameBuilder].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.ObjectNameBuilder].<init>(java.lang.String)"
    functionSourceFile: "com.netflix.servo.jmx.ObjectNameBuilder"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.StringBuilder].<init>(java.lang.String)"
    - "[com.netflix.servo.jmx.ObjectNameBuilder].sanitizeValue(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    functionUses: 1
    ICount: 10
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:64,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:65,1"
      Dst: "[com.netflix.servo.jmx.ObjectNameBuilder].sanitizeValue(java.lang.String)"
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:65,1"
      Dst: "[java.lang.StringBuilder].<init>(java.lang.String)"
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:66,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.ObjectNameBuilder].addProperties(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.jmx.ObjectNameBuilder"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionDepth: 3
    returnType: "com.netflix.servo.jmx.ObjectNameBuilder"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator:com.google.common.collect.AbstractIndexedListIterator:com.google.common.collect.AbstractSequentialIterator:com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1:com.google.common.collect.Iterators$1:com.google.common.collect.Iterators$12:com.google.common.collect.Iterators$2:com.google.common.collect.LinkedListMultimap$ValueForKeyIterator:com.google.common.collect.MapMakerInternalMap$HashIterator:com.google.common.collect.Sets$SubSet$1:com.netflix.spectator.api.FilteredIterator:com.netflix.spectator.api.TagList$1:java.io.BufferedReader$1:java.nio.file.FileTreeIterator:java.nio.file.Files$2:java.util.concurrent.ArrayBlockingQueue$Itr:org.testng.internal.ArrayIterator].hasNext()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[com.netflix.servo.jmx.ObjectNameBuilder].addProperty(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.tag.TagList].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 10
    EdgeCount: 129
    BranchProfiles:
    - Branch String: "com.netflix.servo.jmx.ObjectNameBuilder:76"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.ObjectNameBuilder:80"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "addProperty(com.netflix.servo.tag.Tag)"
      - BranchSide: "com.netflix.servo.jmx.ObjectNameBuilder:79"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:76,1"
      Dst: "[com.netflix.servo.tag.TagList].iterator()"
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:76,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:76,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:77,1"
      Dst: "[com.netflix.servo.jmx.ObjectNameBuilder].addProperty(com.netflix.servo.tag.Tag)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.jmx.ObjectNameBuilder].addProperty(com.netflix.servo.tag.Tag)"
    functionSourceFile: "com.netflix.servo.jmx.ObjectNameBuilder"
    linkageType: ""
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionDepth: 2
    returnType: "com.netflix.servo.jmx.ObjectNameBuilder"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.Tag"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.jmx.ObjectNameBuilder].addProperty(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.annotations.DataSourceType].getKey()"
    - "[com.netflix.servo.annotations.DataSourceLevel:com.netflix.servo.tag.BasicTag:com.netflix.servo.tag.InjectableTag].getKey()"
    - "[com.netflix.servo.annotations.DataSourceLevel].getValue()"
    - "[com.netflix.servo.annotations.DataSourceType].getValue()"
    - "[com.netflix.servo.tag.Tag].getKey()"
    - "[com.netflix.servo.tag.Tag].getValue()"
    functionUses: 1
    ICount: 6
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:90,1"
      Dst: "[com.netflix.servo.tag.Tag].getKey()"
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:90,1"
      Dst: "[com.netflix.servo.tag.Tag].getValue()"
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:90,1"
      Dst: "[com.netflix.servo.jmx.ObjectNameBuilder].addProperty(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.ObjectNameBuilder].addProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "com.netflix.servo.jmx.ObjectNameBuilder"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionDepth: 1
    returnType: "com.netflix.servo.jmx.ObjectNameBuilder"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.netflix.servo.jmx.ObjectNameBuilder].sanitizeValue(java.lang.String)"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 5
    ICount: 11
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:101,1"
      Dst: "[com.netflix.servo.jmx.ObjectNameBuilder].sanitizeValue(java.lang.String)"
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:101,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:102,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.ObjectNameBuilder].build()"
    functionSourceFile: "com.netflix.servo.jmx.ObjectNameBuilder"
    linkageType: ""
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionDepth: 2
    returnType: "javax.management.ObjectName"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].length()"
    - "[java.lang.StringBuilder].substring(int,int)"
    - "[javax.management.ObjectName].<init>(java.lang.String)"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Object)"
    - "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object)"
    functionUses: 2
    ICount: 14
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:113,1"
      Dst: "[java.lang.StringBuilder].length()"
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:113,1"
      Dst: "[java.lang.StringBuilder].substring(int,int)"
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:115,1"
      Dst: "[javax.management.ObjectName].<init>(java.lang.String)"
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:117,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object)"
    - Src: "com.netflix.servo.jmx.ObjectNameBuilder:118,1"
      Dst: "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.OrderedObjectNameMapper].<init>(boolean,java.lang.String[])"
    functionSourceFile: "com.netflix.servo.jmx.OrderedObjectNameMapper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "boolean"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[com.netflix.servo.jmx.OrderedObjectNameMapper].<init>(boolean,java.util.List)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:55,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:55,1"
      Dst: "[com.netflix.servo.jmx.OrderedObjectNameMapper].<init>(boolean,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.OrderedObjectNameMapper].<init>(boolean,java.util.List)"
    functionSourceFile: "com.netflix.servo.jmx.OrderedObjectNameMapper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "boolean"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>(java.util.Collection)"
    - "[java.util.List].contains(java.lang.Object)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:66,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:67,1"
      Dst: "[java.util.ArrayList].<init>(java.util.Collection)"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:69,1"
      Dst: "[java.util.List].contains(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.OrderedObjectNameMapper].createObjectName(java.lang.String,com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.jmx.OrderedObjectNameMapper"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionDepth: 3
    returnType: "javax.management.ObjectName"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.jmx.ObjectNameBuilder].forDomain(java.lang.String)"
    - "[java.util.TreeMap].<init>(java.util.Map)"
    - "[com.netflix.servo.tag.BasicTagList].asMap()"
    - "[com.netflix.servo.tag.SortedTagList].asMap()"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getConfig()"
    - "[com.netflix.servo.monitor.DynamicGauge].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.netflix.servo.jmx.OrderedObjectNameMapper].addName(com.netflix.servo.jmx.ObjectNameBuilder,com.netflix.servo.monitor.Monitor)"
    - "[java.util.TreeMap].remove(java.lang.Object)"
    - "[com.netflix.servo.jmx.ObjectNameBuilder].addProperty(java.lang.String,java.lang.String)"
    - "[java.util.TreeMap].entrySet()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Maps$10].getKey()"
    - "[com.google.common.collect.ForwardingMapEntry].getKey()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1$1$1].getKey()"
    - "[com.google.common.collect.StandardTable$Column$EntrySetIterator$1].getKey()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].getKey()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1$1].getKey()"
    - "[com.google.common.collect.Maps$6].getKey()"
    - "[com.google.common.collect.StandardTable$Column$EntrySetIterator$1].getValue()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1$1$1].getValue()"
    - "[com.google.common.collect.ForwardingMapEntry].getValue()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1$1].getValue()"
    - "[com.google.common.collect.Maps$6].getValue()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet$1$1].getValue()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].getValue()"
    - "[com.google.common.collect.Maps$10].getValue()"
    - "[com.google.common.collect.MapConstraints$2].getValue()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1$1].getValue()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry:com.google.common.cache.RemovalNotification:com.google.common.collect.HashBiMap$EntrySet$1$MapEntry:com.google.common.collect.HashBiMap$Inverse$1$1$InverseEntry:com.google.common.collect.ImmutableEntry:com.google.common.collect.LinkedListMultimap$Node:com.google.common.collect.MapMakerInternalMap$WriteThroughEntry:com.google.common.collect.TreeRangeMap$RangeMapEntry:java.util.HashMap$Node:java.util.Hashtable$Entry:java.util.TreeMap$Entry:java.util.WeakHashMap$Entry:java.util.concurrent.ConcurrentHashMap$Node].getValue()"
    - "[com.netflix.servo.jmx.ObjectNameBuilder].build()"
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    - "[com.netflix.servo.tag.TagList].asMap()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map].remove(java.lang.Object)"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map$Entry].getValue()"
    functionUses: 1
    ICount: 44
    EdgeCount: 371
    BranchProfiles:
    - Branch String: "com.netflix.servo.jmx.OrderedObjectNameMapper:78"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.OrderedObjectNameMapper:91"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.netflix.servo.jmx.OrderedObjectNameMapper:90"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.jmx.OrderedObjectNameMapper:80"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.OrderedObjectNameMapper:83"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.jmx.OrderedObjectNameMapper:82"
        BranchSideFuncs:
        - "remove(java.lang.Object)"
    - Branch String: "com.netflix.servo.jmx.OrderedObjectNameMapper:84"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.OrderedObjectNameMapper:88"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.jmx.OrderedObjectNameMapper:87"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.jmx.OrderedObjectNameMapper:91"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.OrderedObjectNameMapper:101"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.jmx.OrderedObjectNameMapper:100"
        BranchSideFuncs:
        - "build()"
    - Branch String: "com.netflix.servo.jmx.OrderedObjectNameMapper:92"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.OrderedObjectNameMapper:96"
        BranchSideFuncs:
        - "addName(com.netflix.servo.jmx.ObjectNameBuilder,com.netflix.servo.monitor.Monitor)"
      - BranchSide: "com.netflix.servo.jmx.OrderedObjectNameMapper:95"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "iterator()"
        - "entrySet()"
    - Branch String: "com.netflix.servo.jmx.OrderedObjectNameMapper:96"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.OrderedObjectNameMapper:101"
        BranchSideFuncs:
        - "hasNext()"
        - "addProperty(java.lang.String,java.lang.String)"
        - "getValue()"
        - "next()"
        - "iterator()"
        - "entrySet()"
        - "getKey()"
      - BranchSide: "com.netflix.servo.jmx.OrderedObjectNameMapper:100"
        BranchSideFuncs:
        - "build()"
    Callsites:
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:74,1"
      Dst: "[com.netflix.servo.jmx.ObjectNameBuilder].forDomain(java.lang.String)"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:76,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:76,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:76,1"
      Dst: "[com.netflix.servo.tag.TagList].asMap()"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:76,1"
      Dst: "[java.util.TreeMap].<init>(java.util.Map)"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:78,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:78,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:78,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:80,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:81,1"
      Dst: "[com.netflix.servo.jmx.OrderedObjectNameMapper].addName(com.netflix.servo.jmx.ObjectNameBuilder,com.netflix.servo.monitor.Monitor)"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:83,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:85,1"
      Dst: "[com.netflix.servo.jmx.ObjectNameBuilder].addProperty(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:96,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:96,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:97,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:97,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:101,1"
      Dst: "[com.netflix.servo.jmx.ObjectNameBuilder].build()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 14
    CyclomaticComplexity: 7
  - functionName: "[com.netflix.servo.jmx.OrderedObjectNameMapper].addName(com.netflix.servo.jmx.ObjectNameBuilder,com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.jmx.OrderedObjectNameMapper"
    linkageType: ""
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.jmx.ObjectNameBuilder"
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.jmx.ObjectNameBuilder].addProperty(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getConfig()"
    - "[com.netflix.servo.monitor.DynamicGauge].getConfig()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    functionUses: 2
    ICount: 7
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:105,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:105,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - Src: "com.netflix.servo.jmx.OrderedObjectNameMapper:105,1"
      Dst: "[com.netflix.servo.jmx.ObjectNameBuilder].addProperty(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$7].<init>(java.lang.Iterable,java.lang.Class)"
    functionSourceFile: "com.google.common.collect.Iterables$7"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.FluentIterable].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$7:606,1"
      Dst: "[com.google.common.collect.FluentIterable].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$7].iterator()"
    functionSourceFile: "com.google.common.collect.Iterables$7"
    linkageType: ""
    functionLinenumber: 608
    functionLinenumberEnd: 610
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterators].filter(java.util.Iterator,java.lang.Class)"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[java.lang.Iterable].iterator()"
    functionUses: 56
    ICount: 6
    EdgeCount: 179
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$7:609,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables$7:609,1"
      Dst: "[com.google.common.collect.Iterators].filter(java.util.Iterator,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.FileMetricObserver].<init>(java.lang.String,java.io.File)"
    functionSourceFile: "com.netflix.servo.publish.FileMetricObserver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.FileMetricObserver].<init>(java.lang.String,java.io.File,boolean)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.FileMetricObserver:62,1"
      Dst: "[com.netflix.servo.publish.FileMetricObserver].<init>(java.lang.String,java.io.File,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.FileMetricObserver].<init>(java.lang.String,java.io.File,boolean)"
    functionSourceFile: "com.netflix.servo.publish.FileMetricObserver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.io.File"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[com.netflix.servo.publish.FileMetricObserver].<init>(java.lang.String,java.lang.String,java.io.File,boolean)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.FileMetricObserver:76"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.FileMetricObserver:75"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.FileMetricObserver:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.FileMetricObserver:75,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.publish.FileMetricObserver:76,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.netflix.servo.publish.FileMetricObserver:76,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.publish.FileMetricObserver:76,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.netflix.servo.publish.FileMetricObserver:75,1"
      Dst: "[com.netflix.servo.publish.FileMetricObserver].<init>(java.lang.String,java.lang.String,java.io.File,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.publish.FileMetricObserver].<init>(java.lang.String,java.lang.String,java.io.File,boolean)"
    functionSourceFile: "com.netflix.servo.publish.FileMetricObserver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.io.File"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.FileMetricObserver].<init>(java.lang.String,java.lang.String,java.io.File,boolean,com.netflix.servo.util.Clock)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.FileMetricObserver:91,1"
      Dst: "[com.netflix.servo.publish.FileMetricObserver].<init>(java.lang.String,java.lang.String,java.io.File,boolean,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.FileMetricObserver].<init>(java.lang.String,java.lang.String,java.io.File,boolean,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.publish.FileMetricObserver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 5
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.io.File"
    - "boolean"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.BaseMetricObserver].<init>(java.lang.String)"
    - "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - "[java.util.TimeZone].getTimeZone(java.lang.String)"
    - "[java.text.DateFormat].setTimeZone(java.util.TimeZone)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.FileMetricObserver:107,1"
      Dst: "[com.netflix.servo.publish.BaseMetricObserver].<init>(java.lang.String)"
    - Src: "com.netflix.servo.publish.FileMetricObserver:111,1"
      Dst: "[java.text.SimpleDateFormat].<init>(java.lang.String)"
    - Src: "com.netflix.servo.publish.FileMetricObserver:112,1"
      Dst: "[java.util.TimeZone].getTimeZone(java.lang.String)"
    - Src: "com.netflix.servo.publish.FileMetricObserver:112,1"
      Dst: "[java.text.DateFormat].setTimeZone(java.util.TimeZone)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.FileMetricObserver].updateImpl(java.util.List<Metric>)"
    functionSourceFile: "com.netflix.servo.publish.FileMetricObserver"
    linkageType: ""
    functionLinenumber: 118
    functionLinenumberEnd: 151
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List<Metric>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[java.io.File].<init>(java.io.File,java.lang.String)"
    - "[java.util.Date].<init>(long)"
    - "[java.text.DateFormat].format(java.util.Date)"
    - "[com.netflix.servo.util.ClockWithOffset].now()"
    - "[com.netflix.servo.util.ManualClock].now()"
    - "[org.slf4j.helpers.SubstituteLogger].debug(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.event.EventRecodingLogger].debug(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Lists$StringAsImmutableList].size()"
    - "[com.google.common.collect.LinkedListMultimap$4].size()"
    - "[com.google.common.collect.LinkedListMultimap$1].size()"
    - "[com.google.common.collect.Lists$AbstractListWrapper].size()"
    - "[com.google.common.collect.Sets$CartesianSet$1].size()"
    - "[com.google.common.collect.ForwardingCollection].size()"
    - "[com.google.common.collect.ImmutableAsList].size()"
    - "[com.google.common.collect.CartesianList$1].size()"
    - "[com.google.common.collect.Lists$CharSequenceAsList].size()"
    - "[com.google.common.collect.Lists$Partition].size()"
    - "[com.google.common.collect.Lists$ReverseList].size()"
    - "[com.google.common.collect.RegularImmutableTable$Values].size()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].size()"
    - "[com.google.common.collect.Lists$TransformingSequentialList].size()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].size()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].size()"
    - "[com.google.common.collect.LinkedListMultimap$3].size()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].size()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].size()"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.io.FileOutputStream].<init>(java.io.File,boolean)"
    - "[java.util.zip.GZIPOutputStream].<init>(java.io.OutputStream)"
    - "[java.io.OutputStreamWriter].<init>(java.io.OutputStream,java.lang.String)"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[java.io.PrintWriter].append(char)"
    - "[java.io.Writer].append(char)"
    - "[com.google.common.io.AppendableWriter].append(char)"
    - "[com.google.common.io.CharStreams$NullWriter].append(char)"
    - "[java.io.StringWriter].append(char)"
    - "[java.io.OutputStreamWriter].append(java.lang.CharSequence)"
    - "[com.netflix.servo.Metric].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - "[java.io.PrintWriter].append(java.lang.CharSequence)"
    - "[com.google.common.io.CharStreams$NullWriter].append(java.lang.CharSequence)"
    - "[java.io.StringWriter].append(java.lang.CharSequence)"
    - "[com.google.common.io.AppendableWriter].append(java.lang.CharSequence)"
    - "[java.io.Writer].append(java.lang.CharSequence)"
    - "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - "[com.netflix.servo.tag.BasicTagList].toString()"
    - "[com.netflix.servo.tag.SortedTagList].toString()"
    - "[com.netflix.servo.Metric].getValue()"
    - "[com.google.common.collect.ImmutableMultimap].toString()"
    - "[java.lang.ProcessBuilder$Redirect$3].toString()"
    - "[bsh.BSHMethodDeclaration].toString()"
    - "[com.netflix.servo.monitor.MonitorWrapper].toString()"
    - "[com.google.common.hash.Funnels$SequentialFunnel].toString()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].toString()"
    - "[com.google.common.collect.ReverseOrdering].toString()"
    - "[com.netflix.spectator.impl.matcher.ZeroOrMoreMatcher].toString()"
    - "[com.netflix.servo.stats.StatsConfig].toString()"
    - "[com.google.common.base.Enums$ValueOfFunction].toString()"
    - "[com.google.common.base.Converter$ConverterComposition].toString()"
    - "[java.awt.PageAttributes].toString()"
    - "[java.util.Calendar].toString()"
    - "[com.netflix.servo.tag.BasicTag].toString()"
    - "[java.awt.MenuComponent].toString()"
    - "[java.net.Socket].toString()"
    - "[com.google.common.io.ByteSink$AsCharSink].toString()"
    - "[java.util.concurrent.Semaphore].toString()"
    - "[java.awt.Font].toString()"
    - "[org.testng.remote.strprotocol.TestResultMessage].toString()"
    - "[java.awt.AttributeValue].toString()"
    - "[com.netflix.spectator.impl.matcher.NegativeLookaheadMatcher].toString()"
    - "[javax.swing.JTree$DropLocation].toString()"
    - "[com.google.common.collect.MapMaker].toString()"
    - "[com.google.common.io.CharSource$ConcatenatedCharSource].toString()"
    - "[com.google.common.base.Functions$FunctionComposition].toString()"
    - "[com.google.common.collect.DiscreteDomain$BigIntegerDomain].toString()"
    - "[org.xml.sax.SAXParseException].toString()"
    - "[com.netflix.spectator.impl.AsciiSet].toString()"
    - "[com.google.common.base.Predicates$CompositionPredicate].toString()"
    - "[jdk.internal.math.FDBigInteger].toString()"
    - "[java.awt.Rectangle].toString()"
    - "[java.net.URI].toString()"
    - "[com.netflix.spectator.impl.StepDouble].toString()"
    - "[com.google.common.primitives.Ints$IntConverter].toString()"
    - "[javax.swing.undo.AbstractUndoableEdit].toString()"
    - "[javax.swing.text.StyleContext].toString()"
    - "[java.awt.Event].toString()"
    - "[java.lang.Short].toString()"
    - "[com.google.common.collect.ArrayListMultimap].toString()"
    - "[com.google.common.hash.MessageDigestHashFunction].toString()"
    - "[com.google.common.util.concurrent.AbstractIdleService].toString()"
    - "[com.google.common.collect.ByFunctionOrdering].toString()"
    - "[com.google.common.collect.HashMultimap].toString()"
    - "[java.time.ZoneId].toString()"
    - "[com.google.common.collect.ComparatorOrdering].toString()"
    - "[java.lang.invoke.LambdaForm].toString()"
    - "[com.google.common.base.Functions$SupplierFunction].toString()"
    - "[bsh.SimpleNode].toString()"
    - "[java.time.format.DateTimeFormatter].toString()"
    - "[org.testng.TestListenerAdapter].toString()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].toString()"
    - "[org.testng.xml.XmlSuite].toString()"
    - "[com.google.common.base.Objects$ToStringHelper].toString()"
    - "[org.testng.junit.JUnitUtils$JUnitTestMethod].toString()"
    - "[com.google.common.collect.DiscreteDomain$IntegerDomain].toString()"
    - "[com.google.common.hash.Funnels$LongFunnel].toString()"
    - "[java.security.CodeSource].toString()"
    - "[org.yaml.snakeyaml.nodes.SequenceNode].toString()"
    - "[bsh.util.AWTConsole].toString()"
    - "[javax.accessibility.AccessibleStateSet].toString()"
    - "[com.google.common.base.Predicates$IsEqualToPredicate].toString()"
    - "[com.google.common.base.Suppliers$ExpiringMemoizingSupplier].toString()"
    - "[java.awt.font.TextHitInfo].toString()"
    - "[com.google.common.base.Predicates$AssignableFromPredicate].toString()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].toString()"
    - "[java.lang.invoke.MethodType].toString()"
    - "[java.util.Formatter].toString()"
    - "[bsh.BSHVariableDeclarator].toString()"
    - "[com.netflix.servo.monitor.StepCounter].toString()"
    - "[com.google.common.eventbus.EventSubscriber].toString()"
    - "[sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo].toString()"
    - "[javax.swing.text.AbstractDocument$BranchElement].toString()"
    - "[java.util.IntSummaryStatistics].toString()"
    - "[junit.framework.TestFailure].toString()"
    - "[com.google.common.collect.TreeMultimap].toString()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].toString()"
    - "[java.awt.GridLayout].toString()"
    - "[java.awt.PageAttributes$MediaType].toString()"
    - "[java.util.TreeMap$Entry].toString()"
    - "[com.netflix.servo.monitor.NumberGauge].toString()"
    - "[java.io.File].toString()"
    - "[java.lang.String].toString()"
    - "[junit.framework.TestCase].toString()"
    - "[javax.swing.text.Position$Bias].toString()"
    - "[org.yaml.snakeyaml.error.Mark].toString()"
    - "[javax.swing.text.TabSet].toString()"
    - "[com.google.common.collect.LexicographicalOrdering].toString()"
    - "[java.math.BigDecimal].toString()"
    - "[java.lang.Package].toString()"
    - "[com.netflix.servo.monitor.MinGauge].toString()"
    - "[com.google.common.base.Suppliers$ThreadSafeSupplier].toString()"
    - "[java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock].toString()"
    - "[com.netflix.spectator.impl.matcher.RepeatMatcher].toString()"
    - "[com.google.common.hash.HashCode].toString()"
    - "[com.google.common.collect.DiscreteDomain$LongDomain].toString()"
    - "[java.util.Date].toString()"
    - "[bsh.NameSpace].toString()"
    - "[java.security.cert.CertPath].toString()"
    - "[com.google.common.reflect.Element].toString()"
    - "[java.awt.JobAttributes$SidesType].toString()"
    - "[bsh.LHS].toString()"
    - "[org.testng.internal.ClassImpl].toString()"
    - "[java.util.concurrent.ForkJoinPool].toString()"
    - "[java.lang.invoke.LambdaForm$NamedFunction].toString()"
    - "[com.google.common.collect.LinkedListMultimap].toString()"
    - "[com.google.common.hash.Murmur3_32HashFunction].toString()"
    - "[java.security.ProtectionDomain].toString()"
    - "[com.google.common.util.concurrent.AbstractScheduledService].toString()"
    - "[sun.font.EAttribute].toString()"
    - "[java.util.Currency].toString()"
    - "[com.netflix.spectator.impl.matcher.OrMatcher].toString()"
    - "[com.google.common.base.Predicates$NotPredicate].toString()"
    - "[java.lang.invoke.MemberName].toString()"
    - "[java.lang.ProcessHandleImpl].toString()"
    - "[com.google.common.reflect.TypeToken$2].toString()"
    - "[javax.swing.text.AbstractDocument$DefaultDocumentEvent].toString()"
    - "[java.util.concurrent.LinkedBlockingQueue].toString()"
    - "[com.google.common.base.Functions$IdentityFunction].toString()"
    - "[javax.swing.text.SimpleAttributeSet].toString()"
    - "[java.awt.JobAttributes$DefaultSelectionType].toString()"
    - "[javax.swing.DefaultListModel].toString()"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$MostFrequentLimiter].toString()"
    - "[bsh.CallStack].toString()"
    - "[com.google.common.primitives.Shorts$ShortConverter].toString()"
    - "[java.time.Instant].toString()"
    - "[javax.management.BadBinaryOpValueExpException].toString()"
    - "[com.google.common.util.concurrent.RateLimiter].toString()"
    - "[com.google.common.base.CaseFormat$StringConverter].toString()"
    - "[bsh.XThis].toString()"
    - "[org.testng.internal.AnnotationTypeEnum].toString()"
    - "[com.google.common.base.Suppliers$MemoizingSupplier].toString()"
    - "[com.google.common.io.CharSource$EmptyCharSource].toString()"
    - "[com.netflix.spectator.impl.matcher.ZeroOrOneMatcher].toString()"
    - "[com.google.common.io.BaseEncoding$SeparatedBaseEncoding].toString()"
    - "[com.google.common.io.ByteStreams$4].toString()"
    - "[com.google.common.base.Absent].toString()"
    - "[bsh.Token].toString()"
    - "[bsh.Primitive].toString()"
    - "[org.yaml.snakeyaml.nodes.MappingNode].toString()"
    - "[com.google.common.io.CharStreams$4].toString()"
    - "[sun.font.FontFamily].toString()"
    - "[com.google.common.collect.NaturalOrdering].toString()"
    - "[sun.reflect.annotation.TypeAnnotation].toString()"
    - "[java.lang.ProcessBuilder$Redirect$2].toString()"
    - "[com.google.common.base.Suppliers$SupplierOfInstance].toString()"
    - "[javax.management.MBeanConstructorInfo].toString()"
    - "[com.netflix.servo.monitor.DynamicGauge].toString()"
    - "[bsh.This].toString()"
    - "[com.google.common.collect.Multisets$AbstractEntry].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor].toString()"
    - "[sun.nio.fs.UnixFileStore].toString()"
    - "[java.security.PrivilegedActionException].toString()"
    - "[javax.security.auth.Subject].toString()"
    - "[java.util.regex.Pattern].toString()"
    - "[com.netflix.servo.monitor.DefaultPublishingPolicy].toString()"
    - "[java.time.LocalDate].toString()"
    - "[java.awt.datatransfer.MimeType].toString()"
    - "[com.google.common.hash.Funnels$StringCharsetFunnel].toString()"
    - "[com.google.common.base.Predicates$AndPredicate].toString()"
    - "[sun.java2d.loops.FontInfo].toString()"
    - "[jdk.internal.org.objectweb.asm.Type].toString()"
    - "[javax.accessibility.AccessibleRelationSet].toString()"
    - "[java.util.concurrent.PriorityBlockingQueue].toString()"
    - "[org.yaml.snakeyaml.nodes.ScalarNode].toString()"
    - "[java.awt.BufferCapabilities$FlipContents].toString()"
    - "[org.testng.internal.BaseTestMethod].toString()"
    - "[javax.management.Attribute].toString()"
    - "[bsh.EvalError].toString()"
    - "[java.awt.JobAttributes$DialogType].toString()"
    - "[jdk.internal.misc.Signal$NativeHandler].toString()"
    - "[com.netflix.servo.monitor.StepLong].toString()"
    - "[java.awt.image.IndexColorModel].toString()"
    - "[java.lang.ProcessBuilder$Redirect$6].toString()"
    - "[com.google.common.collect.HashBasedTable].toString()"
    - "[org.yaml.snakeyaml.scanner.SimpleKey].toString()"
    - "[java.net.ServerSocket].toString()"
    - "[java.lang.Character].toString()"
    - "[com.netflix.spectator.impl.matcher.CharSeqMatcher].toString()"
    - "[com.google.common.primitives.UnsignedInteger].toString()"
    - "[javax.swing.event.DocumentEvent$EventType].toString()"
    - "[java.time.zone.ZoneRules].toString()"
    - "[com.google.common.collect.AllEqualOrdering].toString()"
    - "[java.io.ObjectOutputStream$DebugTraceInfoStack].toString()"
    - "[java.lang.Long].toString()"
    - "[java.awt.Insets].toString()"
    - "[java.util.ServiceLoader].toString()"
    - "[com.google.common.collect.LinkedHashMultiset].toString()"
    - "[java.util.HashMap$Node].toString()"
    - "[com.google.common.net.HostAndPort].toString()"
    - "[javax.management.MBeanParameterInfo].toString()"
    - "[javax.swing.text.JTextComponent$DropLocation].toString()"
    - "[java.awt.PageAttributes$OriginType].toString()"
    - "[com.google.common.collect.ImmutableTable].toString()"
    - "[javax.management.Notification].toString()"
    - "[sun.java2d.loops.GraphicsPrimitive].toString()"
    - "[java.beans.FeatureDescriptor].toString()"
    - "[com.google.common.cache.CacheBuilder].toString()"
    - "[com.google.common.collect.AbstractMapEntry].toString()"
    - "[org.testng.internal.ClonedMethod].toString()"
    - "[com.google.common.collect.TreeMultiset].toString()"
    - "[jdk.internal.org.objectweb.asm.Label].toString()"
    - "[java.lang.module.ModuleDescriptor$Version].toString()"
    - "[java.util.WeakHashMap$Entry].toString()"
    - "[java.net.SocketImpl].toString()"
    - "[sun.java2d.loops.CompositeType].toString()"
    - "[sun.net.www.MessageHeader].toString()"
    - "[com.google.common.primitives.Doubles$DoubleConverter].toString()"
    - "[java.security.AlgorithmParameters].toString()"
    - "[com.google.common.io.CharStreams$NullWriter].toString()"
    - "[com.google.common.collect.ImmutableRangeMap].toString()"
    - "[java.security.Timestamp].toString()"
    - "[com.google.common.io.Resources$UrlByteSource].toString()"
    - "[java.lang.ModuleLayer].toString()"
    - "[java.util.concurrent.ConcurrentHashMap].toString()"
    - "[com.google.common.collect.ForwardingObject].toString()"
    - "[java.util.Hashtable].toString()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].toString()"
    - "[bsh.BSHClassDeclaration].toString()"
    - "[com.netflix.spectator.api.DefaultId].toString()"
    - "[bsh.util.JConsole].toString()"
    - "[com.google.common.net.HostSpecifier].toString()"
    - "[java.nio.channels.FileLock].toString()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].toString()"
    - "[com.google.common.collect.Tables$AbstractCell].toString()"
    - "[com.netflix.spectator.impl.matcher.IndexOfMatcher].toString()"
    - "[java.util.OptionalLong].toString()"
    - "[com.google.common.collect.Cut$BelowValue].toString()"
    - "[javax.swing.tree.DefaultMutableTreeNode].toString()"
    - "[java.nio.FloatBuffer].toString()"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].toString()"
    - "[com.google.common.collect.UsingToStringOrdering].toString()"
    - "[org.testng.internal.MapList].toString()"
    - "[java.nio.channels.FileChannel$MapMode].toString()"
    - "[com.google.common.io.CharStreams$3].toString()"
    - "[com.google.common.base.Present].toString()"
    - "[java.time.LocalTime].toString()"
    - "[com.google.common.cache.LongAdder].toString()"
    - "[java.lang.Class].toString()"
    - "[javax.management.MBeanInfo].toString()"
    - "[java.net.NetworkInterface].toString()"
    - "[com.google.common.base.Predicates$InPredicate].toString()"
    - "[java.awt.ScrollPaneAdjustable].toString()"
    - "[com.netflix.spectator.api.Measurement].toString()"
    - "[java.awt.MenuShortcut].toString()"
    - "[java.nio.IntBuffer].toString()"
    - "[java.awt.JobAttributes$DestinationType].toString()"
    - "[com.google.common.cache.CacheStats].toString()"
    - "[com.netflix.servo.monitor.DynamicTimer].toString()"
    - "[java.net.URLConnection].toString()"
    - "[com.netflix.spectator.impl.matcher.EndMatcher].toString()"
    - "[javax.swing.LookAndFeel].toString()"
    - "[java.util.AbstractCollection].toString()"
    - "[com.google.common.collect.NullsFirstOrdering].toString()"
    - "[com.netflix.servo.monitor.MaxGauge].toString()"
    - "[com.google.common.reflect.ClassPath$ClassInfo].toString()"
    - "[com.google.common.collect.Sets$DescendingSet].toString()"
    - "[java.lang.invoke.MethodHandles$Lookup].toString()"
    - "[java.time.Period].toString()"
    - "[java.awt.BorderLayout].toString()"
    - "[com.google.common.io.ByteSource$ByteArrayByteSource].toString()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].toString()"
    - "[org.xml.sax.SAXException].toString()"
    - "[java.security.SecureRandom].toString()"
    - "[com.netflix.spectator.api.BasicTag].toString()"
    - "[java.time.temporal.ChronoUnit].toString()"
    - "[org.slf4j.helpers.MarkerIgnoringBase].toString()"
    - "[javax.management.openmbean.CompositeType].toString()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].toString()"
    - "[java.awt.PageAttributes$OrientationRequestedType].toString()"
    - "[com.google.common.collect.Maps$ValueDifferenceImpl].toString()"
    - "[com.netflix.spectator.api.NoopId].toString()"
    - "[java.awt.geom.Rectangle2D$Double].toString()"
    - "[sun.reflect.annotation.AnnotationType].toString()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].toString()"
    - "[com.google.common.io.Files$FilePredicate$2].toString()"
    - "[com.google.common.collect.Maps$MapDifferenceImpl].toString()"
    - "[java.io.ObjectStreamClass].toString()"
    - "[java.util.jar.Attributes$Name].toString()"
    - "[java.util.concurrent.ConcurrentHashMap$CollectionView].toString()"
    - "[javax.swing.text.DefaultStyledDocument$ElementSpec].toString()"
    - "[bsh.Name].toString()"
    - "[java.time.format.Parsed].toString()"
    - "[junit.framework.TestSuite].toString()"
    - "[com.google.common.collect.Ordering$ArbitraryOrdering].toString()"
    - "[java.lang.module.ResolvedModule].toString()"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].toString()"
    - "[com.google.common.collect.TreeMultiset$AvlNode].toString()"
    - "[bsh.classpath.DiscreteFilesClassLoader].toString()"
    - "[com.google.common.io.ByteSource$EmptyByteSource].toString()"
    - "[com.google.common.reflect.Types$ParameterizedTypeImpl].toString()"
    - "[javax.management.ObjectName].toString()"
    - "[com.google.common.collect.FluentIterable].toString()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].toString()"
    - "[org.testng.internal.DynamicGraph].toString()"
    - "[java.util.concurrent.ThreadPoolExecutor].toString()"
    - "[com.google.common.collect.Maps$BiMapConverter].toString()"
    - "[java.awt.datatransfer.DataFlavor].toString()"
    - "[java.lang.Boolean].toString()"
    - "[java.nio.charset.CoderResult].toString()"
    - "[java.lang.invoke.MethodHandle].toString()"
    - "[jdk.internal.module.ModuleResolution].toString()"
    - "[com.google.common.reflect.Parameter].toString()"
    - "[java.time.Duration].toString()"
    - "[bsh.ParseException].toString()"
    - "[com.google.common.collect.Maps$DescendingMap].toString()"
    - "[com.google.common.base.FunctionalEquivalence].toString()"
    - "[com.google.common.hash.Funnels$SinkAsStream].toString()"
    - "[javax.swing.text.DefaultStyledDocument$ElementBuffer$ElemChanges].toString()"
    - "[javax.management.MBeanNotificationInfo].toString()"
    - "[com.google.common.base.Functions$ToStringFunction].toString()"
    - "[java.util.LongSummaryStatistics].toString()"
    - "[com.google.common.base.CharMatcher$1].toString()"
    - "[com.google.common.base.Stopwatch].toString()"
    - "[com.google.common.collect.EmptyImmutableSet].toString()"
    - "[com.google.common.base.StandardSystemProperty].toString()"
    - "[com.google.common.primitives.Longs$LongConverter].toString()"
    - "[javax.print.DocFlavor].toString()"
    - "[javax.swing.undo.CompoundEdit].toString()"
    - "[org.yaml.snakeyaml.events.ImplicitTuple].toString()"
    - "[java.awt.Dimension].toString()"
    - "[org.testng.internal.TestResult].toString()"
    - "[javax.print.MimeType].toString()"
    - "[java.text.ParsePosition].toString()"
    - "[com.google.common.util.concurrent.AtomicDouble].toString()"
    - "[com.google.common.collect.TreeRangeMap].toString()"
    - "[com.google.common.collect.ImmutableMultiset].toString()"
    - "[bsh.servlet.SimpleTemplate].toString()"
    - "[com.google.common.hash.Funnels$UnencodedCharsFunnel].toString()"
    - "[com.google.common.base.Functions$ConstantFunction].toString()"
    - "[java.security.PermissionCollection].toString()"
    - "[bsh.classpath.BshClassPath$JarClassSource].toString()"
    - "[javax.swing.tree.TreePath].toString()"
    - "[java.time.ZonedDateTime].toString()"
    - "[java.util.concurrent.ArrayBlockingQueue].toString()"
    - "[java.net.Proxy].toString()"
    - "[com.google.common.collect.EmptyContiguousSet].toString()"
    - "[javax.management.MBeanAttributeInfo].toString()"
    - "[bsh.ClassIdentifier].toString()"
    - "[java.util.OptionalDouble].toString()"
    - "[java.awt.FontMetrics].toString()"
    - "[com.google.common.base.Functions$PredicateFunction].toString()"
    - "[org.testng.internal.junit.ArrayComparisonFailure].toString()"
    - "[com.google.common.collect.SingletonImmutableSet].toString()"
    - "[java.beans.PropertyChangeEvent].toString()"
    - "[java.util.concurrent.atomic.AtomicInteger].toString()"
    - "[java.util.Hashtable$Entry].toString()"
    - "[java.lang.invoke.MethodTypeForm].toString()"
    - "[java.time.format.DecimalStyle].toString()"
    - "[java.time.zone.ZoneOffsetTransition].toString()"
    - "[com.google.common.reflect.Types$WildcardTypeImpl].toString()"
    - "[com.google.common.collect.Cut$AboveValue].toString()"
    - "[com.google.common.base.Predicates$OrPredicate].toString()"
    - "[java.lang.module.ModuleDescriptor].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].toString()"
    - "[java.lang.ProcessBuilder$Redirect$4].toString()"
    - "[java.time.LocalDateTime].toString()"
    - "[com.netflix.servo.monitor.BucketConfig].toString()"
    - "[javax.management.ObjectInstance].toString()"
    - "[com.netflix.spectator.impl.matcher.StartMatcher].toString()"
    - "[sun.java2d.pipe.Region].toString()"
    - "[java.io.ObjectStreamField].toString()"
    - "[sun.font.StrikeMetrics].toString()"
    - "[java.time.format.DateTimeFormatterBuilder$CompositePrinterParser].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$LineBreak].toString()"
    - "[javax.management.openmbean.TabularType].toString()"
    - "[com.google.common.collect.ContiguousSet].toString()"
    - "[java.lang.Double].toString()"
    - "[com.google.common.base.Equivalence$EquivalentToPredicate].toString()"
    - "[com.google.common.reflect.TypeToken$1].toString()"
    - "[com.google.common.io.BaseEncoding$StandardBaseEncoding].toString()"
    - "[java.awt.PageAttributes$PrintQualityType].toString()"
    - "[java.io.ByteArrayOutputStream].toString()"
    - "[java.util.DoubleSummaryStatistics].toString()"
    - "[sun.security.util.LazyCodeSourcePermissionCollection].toString()"
    - "[com.google.common.io.ByteSource$AsCharSource].toString()"
    - "[java.lang.Runtime$Version].toString()"
    - "[com.google.common.collect.ArrayTable].toString()"
    - "[com.google.common.base.Predicates$ContainsPatternPredicate].toString()"
    - "[sun.nio.fs.UnixPath].toString()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].toString()"
    - "[javax.swing.TransferHandler$DropLocation].toString()"
    - "[java.security.SecureRandomSpi].toString()"
    - "[java.util.UUID].toString()"
    - "[java.util.concurrent.LinkedBlockingDeque].toString()"
    - "[com.google.common.io.Files$FilePredicate$1].toString()"
    - "[javax.swing.event.HyperlinkEvent$EventType].toString()"
    - "[java.util.concurrent.CompletableFuture].toString()"
    - "[java.time.OffsetTime].toString()"
    - "[javax.swing.MultiUIDefaults].toString()"
    - "[java.awt.DisplayMode].toString()"
    - "[com.google.common.reflect.ClassPath$ResourceInfo].toString()"
    - "[com.google.common.collect.DescendingMultiset].toString()"
    - "[org.testng.SuiteResult].toString()"
    - "[java.awt.font.NumericShaper].toString()"
    - "[com.google.common.hash.SipHashFunction].toString()"
    - "[java.lang.reflect.Method].toString()"
    - "[com.google.common.base.Splitter$5].toString()"
    - "[com.netflix.spectator.impl.StepLong].toString()"
    - "[jdk.internal.jimage.ImageReader$Node].toString()"
    - "[com.google.common.hash.Murmur3_128HashFunction].toString()"
    - "[sun.util.calendar.CalendarDate].toString()"
    - "[com.netflix.servo.monitor.PeakRateCounter].toString()"
    - "[com.google.common.collect.AbstractMultimap].toString()"
    - "[com.google.common.base.Functions$FunctionForMapNoDefault].toString()"
    - "[java.awt.Component].toString()"
    - "[java.net.URL].toString()"
    - "[junit.extensions.RepeatedTest].toString()"
    - "[com.google.common.collect.SingletonImmutableList].toString()"
    - "[javax.swing.UIManager$LookAndFeelInfo].toString()"
    - "[javax.management.BadAttributeValueExpException].toString()"
    - "[org.testng.internal.TestMethodWorker].toString()"
    - "[com.google.common.collect.AbstractMultiset].toString()"
    - "[org.yaml.snakeyaml.nodes.NodeTuple].toString()"
    - "[java.awt.geom.Rectangle2D$Float].toString()"
    - "[org.slf4j.helpers.BasicMarker].toString()"
    - "[bsh.classpath.BshClassPath].toString()"
    - "[java.text.Annotation].toString()"
    - "[java.awt.Graphics].toString()"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].toString()"
    - "[com.google.common.hash.ChecksumHashFunction].toString()"
    - "[com.google.common.reflect.AbstractInvocationHandler].toString()"
    - "[javax.swing.event.ListDataEvent].toString()"
    - "[java.util.OptionalInt].toString()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].toString()"
    - "[javax.accessibility.AccessibleBundle].toString()"
    - "[com.netflix.servo.monitor.DoubleCounter].toString()"
    - "[com.google.common.hash.Funnels$ByteArrayFunnel].toString()"
    - "[sun.util.calendar.JulianCalendar$Date].toString()"
    - "[java.nio.charset.CodingErrorAction].toString()"
    - "[com.netflix.spectator.impl.matcher.CharClassMatcher].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor$LongGaugeWrapper].toString()"
    - "[com.netflix.spectator.impl.matcher.TrueMatcher].toString()"
    - "[java.lang.StringBuffer].toString()"
    - "[com.google.common.collect.AbstractTable].toString()"
    - "[com.google.common.io.ByteSource$ConcatenatedByteSource].toString()"
    - "[com.google.common.collect.ReverseNaturalOrdering].toString()"
    - "[org.testng.internal.Graph].toString()"
    - "[java.util.regex.Matcher].toString()"
    - "[com.google.common.base.CharMatcher].toString()"
    - "[java.awt.geom.Point2D$Float].toString()"
    - "[com.netflix.spectator.api.ExtendedRegistry].toString()"
    - "[java.lang.invoke.MethodHandleImpl$LoopClauses].toString()"
    - "[org.yaml.snakeyaml.introspector.Property].toString()"
    - "[java.security.MessageDigest].toString()"
    - "[com.google.common.base.Converter$ReverseConverter].toString()"
    - "[com.google.common.collect.LinkedHashMultimap].toString()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap].toString()"
    - "[jdk.internal.org.objectweb.asm.TypePath].toString()"
    - "[java.nio.charset.Charset].toString()"
    - "[com.google.common.net.MediaType].toString()"
    - "[com.netflix.servo.monitor.StatsTimer].toString()"
    - "[org.testng.remote.strprotocol.SuiteMessage].toString()"
    - "[sun.util.calendar.Era].toString()"
    - "[java.util.ResourceBundle$CacheKey].toString()"
    - "[com.netflix.servo.monitor.AnnotatedStringMonitor].toString()"
    - "[org.testng.internal.Graph$Node].toString()"
    - "[jdk.internal.misc.Signal].toString()"
    - "[com.netflix.spectator.impl.matcher.SeqMatcher].toString()"
    - "[java.util.AbstractMap].toString()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].toString()"
    - "[com.netflix.servo.util.ExpiringCache].toString()"
    - "[java.text.DigitList].toString()"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$RollupLimiter].toString()"
    - "[java.awt.AWTKeyStroke].toString()"
    - "[com.netflix.servo.monitor.DurationTimer].toString()"
    - "[javax.swing.text.DefaultCaret].toString()"
    - "[java.security.Permission].toString()"
    - "[java.util.Optional].toString()"
    - "[com.google.common.io.GwtWorkarounds$6].toString()"
    - "[org.testng.internal.ResultMap].toString()"
    - "[com.google.common.io.Files$FileByteSource].toString()"
    - "[java.awt.Cursor].toString()"
    - "[com.google.common.primitives.UnsignedLong].toString()"
    - "[java.lang.Throwable].toString()"
    - "[com.netflix.servo.monitor.BasicGauge].toString()"
    - "[com.google.common.collect.AbstractRangeSet].toString()"
    - "[jdk.internal.org.objectweb.asm.Handle].toString()"
    - "[com.google.common.base.PairwiseEquivalence].toString()"
    - "[org.testng.TestClass].toString()"
    - "[com.google.common.io.BaseEncoding$Alphabet].toString()"
    - "[com.google.common.base.Converter$IdentityConverter].toString()"
    - "[com.google.common.collect.ImmutableMap].toString()"
    - "[com.google.common.reflect.TypeToken].toString()"
    - "[java.time.zone.ZoneOffsetTransitionRule].toString()"
    - "[bsh.classpath.BshClassPath$DirClassSource].toString()"
    - "[com.google.common.collect.GeneralRange].toString()"
    - "[java.util.concurrent.ConcurrentHashMap$Node].toString()"
    - "[java.net.HttpCookie].toString()"
    - "[com.google.common.collect.Collections2$PermutationCollection].toString()"
    - "[com.google.common.reflect.TypeParameter].toString()"
    - "[java.lang.Object].toString()"
    - "[java.text.AttributedCharacterIterator$Attribute].toString()"
    - "[java.util.zip.ZipEntry].toString()"
    - "[java.lang.Float].toString()"
    - "[java.nio.CharBuffer].toString()"
    - "[java.time.OffsetDateTime].toString()"
    - "[java.util.Vector].toString()"
    - "[javax.swing.text.StyleContext$SmallAttributeSet].toString()"
    - "[com.google.common.cache.CacheBuilderSpec].toString()"
    - "[javax.print.event.PrintEvent].toString()"
    - "[java.util.Properties].toString()"
    - "[java.lang.management.LockInfo].toString()"
    - "[java.awt.geom.Point2D$Double].toString()"
    - "[com.google.common.util.concurrent.AbstractService].toString()"
    - "[java.lang.reflect.Constructor].toString()"
    - "[java.awt.RenderingHints].toString()"
    - "[org.yaml.snakeyaml.tokens.Token].toString()"
    - "[java.time.format.DateTimeFormatterBuilder$NumberPrinterParser].toString()"
    - "[javax.management.MBeanOperationInfo].toString()"
    - "[com.beust.jcommander.ParameterDescription].toString()"
    - "[sun.util.locale.LocaleExtensions].toString()"
    - "[java.lang.Integer].toString()"
    - "[org.testng.internal.MethodInstance].toString()"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].toString()"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$FirstLimiter].toString()"
    - "[java.text.FieldPosition].toString()"
    - "[java.security.Signature].toString()"
    - "[org.yaml.snakeyaml.error.MarkedYAMLException].toString()"
    - "[com.google.common.collect.MapConstraints$NotNullMapConstraint].toString()"
    - "[java.util.BitSet].toString()"
    - "[jdk.internal.perf.PerfCounter].toString()"
    - "[java.awt.datatransfer.MimeTypeParameterList].toString()"
    - "[java.util.concurrent.atomic.AtomicReferenceArray].toString()"
    - "[sun.font.FontStrikeDesc].toString()"
    - "[com.google.common.io.ByteStreams$3].toString()"
    - "[com.netflix.servo.monitor.BucketTimer].toString()"
    - "[com.google.common.collect.Synchronized$SynchronizedObject].toString()"
    - "[com.google.common.io.ByteSource$SlicedByteSource].toString()"
    - "[java.awt.geom.AffineTransform].toString()"
    - "[java.math.MathContext].toString()"
    - "[java.time.temporal.ChronoField].toString()"
    - "[com.netflix.spectator.impl.matcher.StartsWithMatcher].toString()"
    - "[java.awt.image.BufferedImage].toString()"
    - "[java.lang.management.ThreadInfo].toString()"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].toString()"
    - "[com.google.common.collect.ImmutableEnumSet].toString()"
    - "[java.lang.ProcessImpl].toString()"
    - "[java.util.Locale].toString()"
    - "[java.lang.invoke.LambdaForm$Name].toString()"
    - "[org.yaml.snakeyaml.nodes.Tag].toString()"
    - "[org.testng.internal.InvokedMethod].toString()"
    - "[com.netflix.servo.monitor.DoubleGauge].toString()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].toString()"
    - "[java.net.InterfaceAddress].toString()"
    - "[com.netflix.servo.tag.SmallTagMap].toString()"
    - "[java.lang.ProcessBuilder$Redirect$1].toString()"
    - "[com.google.common.hash.Funnels$IntegerFunnel].toString()"
    - "[javax.swing.text.JTextComponent$MutableCaretEvent].toString()"
    - "[com.netflix.spectator.impl.matcher.IgnoreCaseMatcher].toString()"
    - "[org.yaml.snakeyaml.Yaml].toString()"
    - "[com.google.common.collect.Range].toString()"
    - "[java.lang.management.MemoryType].toString()"
    - "[java.awt.GridBagLayout].toString()"
    - "[java.util.concurrent.SynchronousQueue].toString()"
    - "[com.google.common.base.Suppliers$SupplierComposition].toString()"
    - "[java.nio.ByteOrder].toString()"
    - "[java.security.Provider$Service].toString()"
    - "[java.awt.JobAttributes$MultipleDocumentHandlingType].toString()"
    - "[javax.swing.event.EventListenerList].toString()"
    - "[javax.swing.TimerQueue].toString()"
    - "[com.google.common.reflect.Invokable].toString()"
    - "[java.lang.Character$Subset].toString()"
    - "[java.lang.module.ModuleDescriptor$Requires].toString()"
    - "[javax.swing.text.Segment].toString()"
    - "[java.nio.file.attribute.FileTime].toString()"
    - "[com.google.common.collect.CompoundOrdering].toString()"
    - "[java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock].toString()"
    - "[com.google.common.io.Files$FileByteSink].toString()"
    - "[com.netflix.spectator.impl.matcher.PositiveLookaheadMatcher].toString()"
    - "[java.util.concurrent.atomic.AtomicLongArray].toString()"
    - "[bsh.BshMethod].toString()"
    - "[java.awt.JobAttributes].toString()"
    - "[org.testng.ReporterConfig].toString()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].toString()"
    - "[java.lang.Enum].toString()"
    - "[java.awt.SystemColor].toString()"
    - "[java.lang.invoke.ClassSpecializer$SpeciesData].toString()"
    - "[com.google.common.collect.ConcurrentHashMultiset].toString()"
    - "[com.google.common.collect.TreeBasedTable].toString()"
    - "[com.netflix.servo.monitor.BasicInformational].toString()"
    - "[java.util.concurrent.atomic.LongAdder].toString()"
    - "[com.google.common.base.Enums$StringConverter].toString()"
    - "[com.google.common.util.concurrent.AtomicDoubleArray].toString()"
    - "[com.google.common.util.concurrent.AbstractExecutionThreadService].toString()"
    - "[com.google.common.reflect.Types$GenericArrayTypeImpl].toString()"
    - "[org.testng.xml.XmlClass].toString()"
    - "[java.nio.DoubleBuffer].toString()"
    - "[javax.management.BadStringOperationException].toString()"
    - "[java.lang.module.ModuleDescriptor$Exports].toString()"
    - "[java.lang.module.ModuleDescriptor$Opens].toString()"
    - "[com.netflix.servo.Metric].toString()"
    - "[com.google.common.collect.Cut$AboveAll].toString()"
    - "[java.net.InetAddress].toString()"
    - "[java.util.concurrent.atomic.AtomicLong].toString()"
    - "[com.google.common.base.Functions$ForMapWithDefault].toString()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].toString()"
    - "[org.slf4j.event.Level].toString()"
    - "[java.lang.Thread].toString()"
    - "[jdk.internal.module.ModuleHashes].toString()"
    - "[java.time.format.DateTimeParseContext].toString()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource].toString()"
    - "[com.netflix.spectator.impl.matcher.FalseMatcher].toString()"
    - "[java.util.concurrent.atomic.AtomicBoolean].toString()"
    - "[org.yaml.snakeyaml.events.Event].toString()"
    - "[com.google.common.collect.EmptyImmutableSortedMap].toString()"
    - "[java.lang.StackTraceElement].toString()"
    - "[com.google.common.reflect.Types$TypeVariableImpl].toString()"
    - "[sun.java2d.loops.SurfaceType].toString()"
    - "[java.security.Provider].toString()"
    - "[bsh.BSHAmbiguousName].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$Version].toString()"
    - "[javax.swing.event.TreeModelEvent].toString()"
    - "[java.lang.StackFrameInfo].toString()"
    - "[com.google.common.collect.Iterables$1].toString()"
    - "[java.awt.AWTEvent].toString()"
    - "[com.google.common.collect.Sets$PowerSet].toString()"
    - "[java.lang.module.Configuration].toString()"
    - "[java.time.temporal.ValueRange].toString()"
    - "[javax.swing.text.TabStop].toString()"
    - "[org.testng.xml.XmlTest].toString()"
    - "[java.lang.invoke.LambdaFormEditor$Transform].toString()"
    - "[javax.swing.event.ListSelectionEvent].toString()"
    - "[org.yaml.snakeyaml.resolver.ResolverTuple].toString()"
    - "[java.util.concurrent.atomic.AtomicReference].toString()"
    - "[com.netflix.servo.monitor.LongGauge].toString()"
    - "[java.lang.ProcessBuilder$RedirectPipeImpl].toString()"
    - "[sun.util.locale.Extension].toString()"
    - "[java.nio.ShortBuffer].toString()"
    - "[com.google.common.io.ByteStreams$1].toString()"
    - "[sun.util.locale.BaseLocale].toString()"
    - "[sun.font.AttributeValues].toString()"
    - "[javax.swing.ImageIcon].toString()"
    - "[java.awt.Point].toString()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].toString()"
    - "[com.google.common.base.Suppliers$SupplierFunctionImpl].toString()"
    - "[java.lang.module.ModuleDescriptor$Provides].toString()"
    - "[com.google.common.collect.HashMultiset].toString()"
    - "[javax.swing.text.StyleConstants].toString()"
    - "[org.testng.remote.strprotocol.TestMessage].toString()"
    - "[com.google.common.io.Files$2].toString()"
    - "[com.google.common.cache.RemovalNotification].toString()"
    - "[java.lang.management.MemoryUsage].toString()"
    - "[org.yaml.snakeyaml.TypeDescription].toString()"
    - "[java.lang.invoke.SerializedLambda].toString()"
    - "[java.util.concurrent.CopyOnWriteArrayList].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper].toString()"
    - "[java.math.MutableBigInteger].toString()"
    - "[java.time.format.DateTimePrintContext].toString()"
    - "[com.netflix.servo.monitor.BasicTimer].toString()"
    - "[java.time.chrono.AbstractChronology].toString()"
    - "[java.nio.LongBuffer].toString()"
    - "[java.text.CalendarBuilder].toString()"
    - "[java.util.concurrent.CountDownLatch].toString()"
    - "[java.util.EventObject].toString()"
    - "[com.netflix.spectator.api.ArrayTagSet].toString()"
    - "[java.lang.reflect.Field].toString()"
    - "[org.testng.remote.strprotocol.GenericMessage].toString()"
    - "[javax.crypto.CryptoPermission].toString()"
    - "[com.netflix.servo.monitor.MonitorConfig].toString()"
    - "[sun.security.util.JarConstraintsParameters].toString()"
    - "[java.util.concurrent.locks.AbstractQueuedSynchronizer].toString()"
    - "[java.util.concurrent.FutureTask].toString()"
    - "[com.google.common.base.Predicates$InstanceOfPredicate].toString()"
    - "[sun.awt.AppContext].toString()"
    - "[com.google.common.net.InternetDomainName].toString()"
    - "[org.testng.SuiteRunnerWorker].toString()"
    - "[jdk.internal.jmod.JmodFile$Entry].toString()"
    - "[com.google.common.base.Equivalence$Wrapper].toString()"
    - "[com.netflix.spectator.api.histogram.BucketFunctions$Bucket].toString()"
    - "[java.lang.Byte].toString()"
    - "[java.awt.image.ColorModel].toString()"
    - "[java.lang.invoke.Invokers].toString()"
    - "[java.util.concurrent.locks.ReentrantReadWriteLock].toString()"
    - "[java.lang.reflect.Parameter].toString()"
    - "[com.netflix.servo.monitor.DynamicCounter].toString()"
    - "[junit.extensions.TestDecorator].toString()"
    - "[javax.swing.JList$DropLocation].toString()"
    - "[com.netflix.servo.util.ExpiringCache$Entry].toString()"
    - "[java.security.CodeSigner].toString()"
    - "[java.lang.StringBuilder].toString()"
    - "[bsh.TargetError].toString()"
    - "[org.yaml.snakeyaml.reader.ReaderException].toString()"
    - "[com.google.common.collect.Count].toString()"
    - "[java.lang.ProcessBuilder$Redirect$5].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$FlowStyle].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$ScalarStyle].toString()"
    - "[java.lang.Module].toString()"
    - "[com.google.common.collect.EnumMultiset].toString()"
    - "[jdk.internal.module.ModuleReferenceImpl].toString()"
    - "[java.nio.ByteBuffer].toString()"
    - "[java.util.concurrent.locks.ReentrantLock].toString()"
    - "[bsh.Variable].toString()"
    - "[com.google.common.primitives.Floats$FloatConverter].toString()"
    - "[java.io.StringWriter].toString()"
    - "[com.google.common.util.concurrent.AtomicLongMap].toString()"
    - "[java.math.BigInteger].toString()"
    - "[java.lang.ThreadGroup].toString()"
    - "[java.awt.Color].toString()"
    - "[java.time.ZoneOffset].toString()"
    - "[com.google.common.util.concurrent.ServiceManager].toString()"
    - "[bsh.Modifiers].toString()"
    - "[java.util.StringJoiner].toString()"
    - "[java.awt.CheckboxGroup].toString()"
    - "[java.util.logging.Level].toString()"
    - "[com.google.common.collect.Cut$BelowAll].toString()"
    - "[com.google.common.collect.NullsLastOrdering].toString()"
    - "[com.google.common.collect.ExplicitOrdering].toString()"
    - "[java.awt.PageAttributes$ColorType].toString()"
    - "[com.netflix.servo.monitor.BasicCounter].toString()"
    - "[com.netflix.spectator.impl.matcher.AnyMatcher].toString()"
    - "[java.io.OutputStreamWriter].close()"
    - "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    - "[com.netflix.servo.publish.BaseMetricObserver].incrementFailedCount()"
    - "[org.slf4j.helpers.SubstituteLogger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.event.EventRecodingLogger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.NOPLogger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[com.netflix.servo.util.Clock].now()"
    - "[java.util.List].size()"
    - "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.io.Writer].close()"
    - "[org.slf4j.Logger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 67
    EdgeCount: 948
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.FileMetricObserver:126"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.FileMetricObserver:129"
        BranchSideFuncs:
        - "<init>(java.io.OutputStream)"
      - BranchSide: "com.netflix.servo.publish.FileMetricObserver:128"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "<init>(java.io.OutputStream,java.lang.String)"
        - "iterator()"
    - Branch String: "com.netflix.servo.publish.FileMetricObserver:130"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.FileMetricObserver:142"
        BranchSideFuncs:
        - "getTags()"
        - "hasNext()"
        - "next()"
        - "append(char)"
        - "getName()"
        - "toString()"
        - "getValue()"
        - "iterator()"
        - "getConfig()"
        - "append(java.lang.CharSequence)"
      - BranchSide: "com.netflix.servo.publish.FileMetricObserver:141"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.FileMetricObserver:142"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.FileMetricObserver:149"
        BranchSideFuncs:
        - "close()"
      - BranchSide: "com.netflix.servo.publish.FileMetricObserver:148"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.FileMetricObserver:136"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.FileMetricObserver:140"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.FileMetricObserver:139"
        BranchSideFuncs:
        - "propagate(java.lang.Throwable)"
    - Branch String: "com.netflix.servo.publish.FileMetricObserver:142"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.FileMetricObserver:145"
        BranchSideFuncs:
        - "close()"
      - BranchSide: "com.netflix.servo.publish.FileMetricObserver:144"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.FileMetricObserver:119,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.publish.FileMetricObserver:120,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    - Src: "com.netflix.servo.publish.FileMetricObserver:120,1"
      Dst: "[java.util.Date].<init>(long)"
    - Src: "com.netflix.servo.publish.FileMetricObserver:120,1"
      Dst: "[java.text.DateFormat].format(java.util.Date)"
    - Src: "com.netflix.servo.publish.FileMetricObserver:120,1"
      Dst: "[java.io.File].<init>(java.io.File,java.lang.String)"
    - Src: "com.netflix.servo.publish.FileMetricObserver:124,1"
      Dst: "[java.util.List].size()"
    - Src: "com.netflix.servo.publish.FileMetricObserver:124,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.netflix.servo.publish.FileMetricObserver:124,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.publish.FileMetricObserver:125,1"
      Dst: "[java.io.FileOutputStream].<init>(java.io.File,boolean)"
    - Src: "com.netflix.servo.publish.FileMetricObserver:127,1"
      Dst: "[java.util.zip.GZIPOutputStream].<init>(java.io.OutputStream)"
    - Src: "com.netflix.servo.publish.FileMetricObserver:129,1"
      Dst: "[java.io.OutputStreamWriter].<init>(java.io.OutputStream,java.lang.String)"
    - Src: "com.netflix.servo.publish.FileMetricObserver:130,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.publish.FileMetricObserver:130,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.FileMetricObserver:130,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.FileMetricObserver:131,1"
      Dst: "[com.netflix.servo.Metric].getConfig()"
    - Src: "com.netflix.servo.publish.FileMetricObserver:131,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - Src: "com.netflix.servo.publish.FileMetricObserver:131,1"
      Dst: "[java.io.Writer].append(java.lang.CharSequence)"
    - Src: "com.netflix.servo.publish.FileMetricObserver:131,1"
      Dst: "[java.io.Writer].append(char)"
    - Src: "com.netflix.servo.publish.FileMetricObserver:132,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - Src: "com.netflix.servo.publish.FileMetricObserver:132,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "com.netflix.servo.publish.FileMetricObserver:133,1"
      Dst: "[com.netflix.servo.Metric].getValue()"
    - Src: "com.netflix.servo.publish.FileMetricObserver:143,1"
      Dst: "[java.io.Writer].close()"
    - Src: "com.netflix.servo.publish.FileMetricObserver:140,1"
      Dst: "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    - Src: "com.netflix.servo.publish.FileMetricObserver:147,1"
      Dst: "[com.netflix.servo.publish.BaseMetricObserver].incrementFailedCount()"
    - Src: "com.netflix.servo.publish.FileMetricObserver:148,1"
      Dst: "[org.slf4j.Logger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 16
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.Metric].getConfig()"
    functionSourceFile: "com.netflix.servo.Metric"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionDepth: 0
    returnType: "com.netflix.servo.monitor.MonitorConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 11
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.Metric].getValue()"
    functionSourceFile: "com.netflix.servo.Metric"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.BasicCounter"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].<init>()"
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.SpectatorContext].counter(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 4
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicCounter:39,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.BasicCounter:39,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.BasicCounter:32,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>()"
    - Src: "com.netflix.servo.monitor.BasicCounter:41,1"
      Dst: "[com.netflix.servo.SpectatorContext].counter(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicCounter].increment()"
    functionSourceFile: "com.netflix.servo.monitor.BasicCounter"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.Counter].increment()"
    - "[java.util.concurrent.atomic.AtomicLong].incrementAndGet()"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicCounter:49,1"
      Dst: "[com.netflix.spectator.api.Counter].increment()"
    - Src: "com.netflix.servo.monitor.BasicCounter:50,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].incrementAndGet()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicCounter].increment(long)"
    functionSourceFile: "com.netflix.servo.monitor.BasicCounter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.Counter].increment(long)"
    - "[java.util.concurrent.atomic.AtomicLong].getAndAdd(long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicCounter:58,1"
      Dst: "[com.netflix.spectator.api.Counter].increment(long)"
    - Src: "com.netflix.servo.monitor.BasicCounter:59,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].getAndAdd(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicCounter].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.BasicCounter"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionDepth: 0
    returnType: "java.lang.Number"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 6
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicCounter:67,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.servo.monitor.BasicCounter:67,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.BasicCounter"
    linkageType: ""
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.SpectatorContext$LazyCounter].setId(com.netflix.spectator.api.Id)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    functionUses: 6
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicCounter:75,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.BasicCounter:75,1"
      Dst: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.BasicCounter:75,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyCounter].setId(com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicCounter].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.BasicCounter"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    functionUses: 42
    ICount: 21
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BasicCounter:83"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicCounter:84"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicCounter:83"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicCounter:83"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicCounter:86"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicCounter:85"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "get()"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.BasicCounter:87"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicCounter:85"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "get()"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.BasicCounter:87"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicCounter:85"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "get()"
        - "getConfig()"
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicCounter:87,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.BasicCounter:87,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BasicCounter:87,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.BasicCounter].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.BasicCounter"
    linkageType: ""
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    functionUses: 42
    ICount: 11
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicCounter:95,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.BasicCounter:96,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicCounter].toString()"
    functionSourceFile: "com.netflix.servo.monitor.BasicCounter"
    linkageType: ""
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(long)"
    functionUses: 39
    ICount: 13
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicCounter:106,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.BasicCounter:106,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.BasicCounter:106,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BasicCounter:106,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.servo.monitor.BasicCounter:106,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "com.netflix.servo.monitor.BasicCounter:106,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.BasicCounter:106,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].<init>()"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.util.concurrent.Monitor].<init>(boolean)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:339,1"
      Dst: "[com.google.common.util.concurrent.Monitor].<init>(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].<init>(boolean)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.locks.ReentrantLock].<init>(boolean)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:348,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.google.common.util.concurrent.Monitor:350,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].<init>(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].enter()"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock].lock()"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    functionUses: 4
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:357,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].enterInterruptibly()"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.locks.ReentrantLock].lockInterruptibly()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:364,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lockInterruptibly()"
    JavaMethodInfo:
      exceptions:
      - "java.lang.InterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].enter(long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.TimeUnit].toNanos(long)"
    - "[java.util.concurrent.locks.ReentrantLock].tryLock()"
    - "[java.lang.System].nanoTime()"
    - "[java.lang.Thread].interrupted()"
    - "[java.util.concurrent.locks.ReentrantLock].tryLock(long,java.util.concurrent.TimeUnit)"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].interrupt()"
    functionUses: 0
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:375"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:378"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:377"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:375"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:378"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:377"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:390"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:383"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:382"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:390"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:383"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:382"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:373,1"
      Dst: "[java.util.concurrent.TimeUnit].toNanos(long)"
    - Src: "com.google.common.util.concurrent.Monitor:375,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].tryLock()"
    - Src: "com.google.common.util.concurrent.Monitor:378,1"
      Dst: "[java.lang.System].nanoTime()"
    - Src: "com.google.common.util.concurrent.Monitor:379,1"
      Dst: "[java.lang.Thread].interrupted()"
    - Src: "com.google.common.util.concurrent.Monitor:383,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].tryLock(long,java.util.concurrent.TimeUnit)"
    - Src: "com.google.common.util.concurrent.Monitor:391,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "com.google.common.util.concurrent.Monitor:391,1"
      Dst: "[java.lang.Thread].interrupt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[com.google.common.util.concurrent.Monitor].enterInterruptibly(long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.locks.ReentrantLock].tryLock(long,java.util.concurrent.TimeUnit)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:402,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].tryLock(long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.InterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].tryEnter()"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.locks.ReentrantLock].tryLock()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:413,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].tryLock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].enterWhen(com.google.common.util.concurrent.Monitor$Guard)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalMonitorStateException].<init>()"
    - "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    - "[java.util.concurrent.locks.ReentrantLock].lockInterruptibly()"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - "[com.google.common.util.concurrent.Monitor].await(com.google.common.util.concurrent.Monitor$Guard,boolean)"
    - "[com.google.common.util.concurrent.Monitor].leave()"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:420"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:423"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:422"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:429"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:434"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:433"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:434"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:438"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:437"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:434"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:434"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:433"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:421,1"
      Dst: "[java.lang.IllegalMonitorStateException].<init>()"
    - Src: "com.google.common.util.concurrent.Monitor:424,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    - Src: "com.google.common.util.concurrent.Monitor:425,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lockInterruptibly()"
    - Src: "com.google.common.util.concurrent.Monitor:429,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - Src: "com.google.common.util.concurrent.Monitor:430,1"
      Dst: "[com.google.common.util.concurrent.Monitor].await(com.google.common.util.concurrent.Monitor$Guard,boolean)"
    - Src: "com.google.common.util.concurrent.Monitor:435,1"
      Dst: "[com.google.common.util.concurrent.Monitor].leave()"
    JavaMethodInfo:
      exceptions:
      - "java.lang.InterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 3
  - functionName: "[com.google.common.util.concurrent.Monitor].await(com.google.common.util.concurrent.Monitor$Guard,boolean)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.util.concurrent.Monitor].signalNextWaiter()"
    - "[com.google.common.util.concurrent.Monitor].beginWaitingFor(com.google.common.util.concurrent.Monitor$Guard)"
    - "[java.util.concurrent.locks.Condition].await()"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - "[com.google.common.util.concurrent.Monitor].endWaitingFor(com.google.common.util.concurrent.Monitor$Guard)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:985"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:988"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:987"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:992"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:991"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:990"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:986,1"
      Dst: "[com.google.common.util.concurrent.Monitor].signalNextWaiter()"
    - Src: "com.google.common.util.concurrent.Monitor:988,1"
      Dst: "[com.google.common.util.concurrent.Monitor].beginWaitingFor(com.google.common.util.concurrent.Monitor$Guard)"
    - Src: "com.google.common.util.concurrent.Monitor:991,1"
      Dst: "[java.util.concurrent.locks.Condition].await()"
    - Src: "com.google.common.util.concurrent.Monitor:992,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - Src: "com.google.common.util.concurrent.Monitor:994,1"
      Dst: "[com.google.common.util.concurrent.Monitor].endWaitingFor(com.google.common.util.concurrent.Monitor$Guard)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.InterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.util.concurrent.Monitor].signalNextWaiter()"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: 890
    functionLinenumberEnd: 898
    functionDepth: 4
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.util.concurrent.Monitor].isSatisfied(com.google.common.util.concurrent.Monitor$Guard)"
    - "[java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject].signal()"
    - "[java.util.concurrent.locks.Condition].signal()"
    functionUses: 1
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:891"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:897"
        BranchSideFuncs:
        - "isSatisfied(com.google.common.util.concurrent.Monitor$Guard)"
      - BranchSide: "com.google.common.util.concurrent.Monitor:896"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:892"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:891"
        BranchSideFuncs:
        - "signal()"
      - BranchSide: "com.google.common.util.concurrent.Monitor:890"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:892,1"
      Dst: "[com.google.common.util.concurrent.Monitor].isSatisfied(com.google.common.util.concurrent.Monitor$Guard)"
    - Src: "com.google.common.util.concurrent.Monitor:893,1"
      Dst: "[java.util.concurrent.locks.Condition].signal()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.google.common.util.concurrent.Monitor].isSatisfied(com.google.common.util.concurrent.Monitor$Guard)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: 923
    functionLinenumberEnd: 928
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.util.concurrent.AbstractService$2].isSatisfied()"
    - "[com.google.common.util.concurrent.AbstractService$1].isSatisfied()"
    - "[com.google.common.util.concurrent.ServiceManager$ServiceManagerState$2].isSatisfied()"
    - "[com.google.common.util.concurrent.AbstractService$3].isSatisfied()"
    - "[com.google.common.util.concurrent.ServiceManager$ServiceManagerState$3].isSatisfied()"
    - "[com.google.common.util.concurrent.AbstractService$4].isSatisfied()"
    - "[com.google.common.util.concurrent.Monitor].signalAllWaiters()"
    - "[com.google.common.base.Throwables].propagate(java.lang.Throwable)"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    functionUses: 1
    ICount: 8
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:924,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - Src: "com.google.common.util.concurrent.Monitor:926,1"
      Dst: "[com.google.common.util.concurrent.Monitor].signalAllWaiters()"
    - Src: "com.google.common.util.concurrent.Monitor:927,1"
      Dst: "[com.google.common.base.Throwables].propagate(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].signalAllWaiters()"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: 935
    functionLinenumberEnd: 940
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject].signalAll()"
    - "[java.util.concurrent.locks.Condition].signalAll()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:936"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:938"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:937,1"
      Dst: "[java.util.concurrent.locks.Condition].signalAll()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.base.Throwables].propagate(java.lang.Throwable)"
    functionSourceFile: "com.google.common.base.Throwables"
    linkageType: ""
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionDepth: 2
    returnType: "java.lang.RuntimeException"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.base.Throwables].propagateIfPossible(java.lang.Throwable)"
    - "[java.lang.RuntimeException].<init>(java.lang.Throwable)"
    functionUses: 10
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Throwables:159,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.base.Throwables:159,1"
      Dst: "[com.google.common.base.Throwables].propagateIfPossible(java.lang.Throwable)"
    - Src: "com.google.common.base.Throwables:160,1"
      Dst: "[java.lang.RuntimeException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Throwables].propagateIfPossible(java.lang.Throwable)"
    functionSourceFile: "com.google.common.base.Throwables"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Throwables].propagateIfInstanceOf(java.lang.Throwable,java.lang.Class)"
    functionUses: 2
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Throwables:83,1"
      Dst: "[com.google.common.base.Throwables].propagateIfInstanceOf(java.lang.Throwable,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Throwables].propagateIfInstanceOf(java.lang.Throwable,java.lang.Class)"
    functionSourceFile: "com.google.common.base.Throwables"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Throwable"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isInstance(java.lang.Object)"
    - "[java.lang.Class].cast(java.lang.Object)"
    functionUses: 4
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.google.common.base.Throwables:63"
      Branch Sides:
      - BranchSide: "com.google.common.base.Throwables:66"
        BranchSideFuncs:
        - "cast(java.lang.Object)"
      - BranchSide: "com.google.common.base.Throwables:65"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Throwables:63"
      Branch Sides:
      - BranchSide: "com.google.common.base.Throwables:66"
        BranchSideFuncs:
        - "cast(java.lang.Object)"
      - BranchSide: "com.google.common.base.Throwables:65"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Throwables:63,1"
      Dst: "[java.lang.Class].isInstance(java.lang.Object)"
    - Src: "com.google.common.base.Throwables:64,1"
      Dst: "[java.lang.Class].cast(java.lang.Object)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Throwable"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.util.concurrent.Monitor].beginWaitingFor(com.google.common.util.concurrent.Monitor$Guard)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:947"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:951"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.util.concurrent.Monitor].endWaitingFor(com.google.common.util.concurrent.Monitor$Guard)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:960"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:973"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:963"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:962"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:961"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:964"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:967"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:966"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.google.common.util.concurrent.Monitor].leave()"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: 764
    functionLinenumberEnd: 775
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.locks.ReentrantLock].getHoldCount()"
    - "[com.google.common.util.concurrent.Monitor].signalNextWaiter()"
    - "[com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock].unlock()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 9
    ICount: 11
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:768"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:772"
        BranchSideFuncs:
        - "signalNextWaiter()"
      - BranchSide: "com.google.common.util.concurrent.Monitor:771"
        BranchSideFuncs:
        - "unlock()"
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:768,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].getHoldCount()"
    - Src: "com.google.common.util.concurrent.Monitor:769,1"
      Dst: "[com.google.common.util.concurrent.Monitor].signalNextWaiter()"
    - Src: "com.google.common.util.concurrent.Monitor:772,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].enterWhenUninterruptibly(com.google.common.util.concurrent.Monitor$Guard)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalMonitorStateException].<init>()"
    - "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - "[com.google.common.util.concurrent.Monitor].awaitUninterruptibly(com.google.common.util.concurrent.Monitor$Guard,boolean)"
    - "[com.google.common.util.concurrent.Monitor].leave()"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:444"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:447"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:446"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:453"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:458"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:457"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:458"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:462"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:461"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:458"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:458"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:457"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:445,1"
      Dst: "[java.lang.IllegalMonitorStateException].<init>()"
    - Src: "com.google.common.util.concurrent.Monitor:448,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    - Src: "com.google.common.util.concurrent.Monitor:449,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "com.google.common.util.concurrent.Monitor:453,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - Src: "com.google.common.util.concurrent.Monitor:454,1"
      Dst: "[com.google.common.util.concurrent.Monitor].awaitUninterruptibly(com.google.common.util.concurrent.Monitor$Guard,boolean)"
    - Src: "com.google.common.util.concurrent.Monitor:459,1"
      Dst: "[com.google.common.util.concurrent.Monitor].leave()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 3
  - functionName: "[com.google.common.util.concurrent.Monitor].awaitUninterruptibly(com.google.common.util.concurrent.Monitor$Guard,boolean)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.util.concurrent.Monitor].signalNextWaiter()"
    - "[com.google.common.util.concurrent.Monitor].beginWaitingFor(com.google.common.util.concurrent.Monitor$Guard)"
    - "[java.util.concurrent.locks.Condition].awaitUninterruptibly()"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - "[com.google.common.util.concurrent.Monitor].endWaitingFor(com.google.common.util.concurrent.Monitor$Guard)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:1000"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:1003"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:1002"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:1007"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:1006"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:1005"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:1001,1"
      Dst: "[com.google.common.util.concurrent.Monitor].signalNextWaiter()"
    - Src: "com.google.common.util.concurrent.Monitor:1003,1"
      Dst: "[com.google.common.util.concurrent.Monitor].beginWaitingFor(com.google.common.util.concurrent.Monitor$Guard)"
    - Src: "com.google.common.util.concurrent.Monitor:1006,1"
      Dst: "[java.util.concurrent.locks.Condition].awaitUninterruptibly()"
    - Src: "com.google.common.util.concurrent.Monitor:1007,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - Src: "com.google.common.util.concurrent.Monitor:1009,1"
      Dst: "[com.google.common.util.concurrent.Monitor].endWaitingFor(com.google.common.util.concurrent.Monitor$Guard)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.util.concurrent.Monitor].enterWhen(com.google.common.util.concurrent.Monitor$Guard,long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.TimeUnit].toNanos(long)"
    - "[java.lang.IllegalMonitorStateException].<init>()"
    - "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    - "[java.util.concurrent.locks.ReentrantLock].tryLock()"
    - "[java.lang.System].nanoTime()"
    - "[java.util.concurrent.locks.ReentrantLock].tryLock(long,java.util.concurrent.TimeUnit)"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - "[com.google.common.util.concurrent.Monitor].awaitNanos(com.google.common.util.concurrent.Monitor$Guard,long,boolean)"
    - "[com.google.common.util.concurrent.Monitor].signalNextWaiter()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 0
    ICount: 61
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:473"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:476"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:475"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:478"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:479"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:478"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:478"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:486"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:485"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:480"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:483"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:482"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:489"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:-1"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:-2"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:489"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:-1"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:-2"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:493"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:489"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:488"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:496"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:500"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:499"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:496"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:500"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:499"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:493"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:489"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:488"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:496"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:500"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:499"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:496"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:500"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:499"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:472,1"
      Dst: "[java.util.concurrent.TimeUnit].toNanos(long)"
    - Src: "com.google.common.util.concurrent.Monitor:474,1"
      Dst: "[java.lang.IllegalMonitorStateException].<init>()"
    - Src: "com.google.common.util.concurrent.Monitor:477,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    - Src: "com.google.common.util.concurrent.Monitor:478,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].tryLock()"
    - Src: "com.google.common.util.concurrent.Monitor:479,1"
      Dst: "[java.lang.System].nanoTime()"
    - Src: "com.google.common.util.concurrent.Monitor:480,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].tryLock(long,java.util.concurrent.TimeUnit)"
    - Src: "com.google.common.util.concurrent.Monitor:489,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - Src: "com.google.common.util.concurrent.Monitor:489,1"
      Dst: "[com.google.common.util.concurrent.Monitor].awaitNanos(com.google.common.util.concurrent.Monitor$Guard,long,boolean)"
    - Src: "com.google.common.util.concurrent.Monitor:497,1"
      Dst: "[com.google.common.util.concurrent.Monitor].signalNextWaiter()"
    - Src: "com.google.common.util.concurrent.Monitor:500,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions:
      - "java.lang.InterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 25
    CyclomaticComplexity: 8
  - functionName: "[com.google.common.util.concurrent.Monitor].awaitNanos(com.google.common.util.concurrent.Monitor$Guard,long,boolean)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    - "long"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.util.concurrent.Monitor].signalNextWaiter()"
    - "[com.google.common.util.concurrent.Monitor].beginWaitingFor(com.google.common.util.concurrent.Monitor$Guard)"
    - "[com.google.common.util.concurrent.Monitor].endWaitingFor(com.google.common.util.concurrent.Monitor$Guard)"
    - "[java.util.concurrent.locks.Condition].awaitNanos(long)"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:1016"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:1019"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:1018"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:1022"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:1024"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:1026"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:1021"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:1017,1"
      Dst: "[com.google.common.util.concurrent.Monitor].signalNextWaiter()"
    - Src: "com.google.common.util.concurrent.Monitor:1019,1"
      Dst: "[com.google.common.util.concurrent.Monitor].beginWaitingFor(com.google.common.util.concurrent.Monitor$Guard)"
    - Src: "com.google.common.util.concurrent.Monitor:1029,1"
      Dst: "[com.google.common.util.concurrent.Monitor].endWaitingFor(com.google.common.util.concurrent.Monitor$Guard)"
    - Src: "com.google.common.util.concurrent.Monitor:1025,1"
      Dst: "[java.util.concurrent.locks.Condition].awaitNanos(long)"
    - Src: "com.google.common.util.concurrent.Monitor:1026,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    JavaMethodInfo:
      exceptions:
      - "java.lang.InterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.util.concurrent.Monitor].enterWhenUninterruptibly(com.google.common.util.concurrent.Monitor$Guard,long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.TimeUnit].toNanos(long)"
    - "[java.lang.IllegalMonitorStateException].<init>()"
    - "[java.lang.System].nanoTime()"
    - "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    - "[java.lang.Thread].interrupted()"
    - "[java.util.concurrent.locks.ReentrantLock].tryLock()"
    - "[java.util.concurrent.locks.ReentrantLock].tryLock(long,java.util.concurrent.TimeUnit)"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].interrupt()"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - "[com.google.common.util.concurrent.Monitor].awaitNanos(com.google.common.util.concurrent.Monitor$Guard,long,boolean)"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 0
    ICount: 70
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:514"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:517"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:516"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:522"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:523"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:522"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:522"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:537"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:536"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:527"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:532"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:531"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:555"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:555"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:554"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:534"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:526"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:525"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:541"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:-1"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:-2"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:541"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:-1"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:-2"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:550"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:555"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:554"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:555"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:555"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:554"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:550"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:541"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:540"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:555"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:555"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:554"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:513,1"
      Dst: "[java.util.concurrent.TimeUnit].toNanos(long)"
    - Src: "com.google.common.util.concurrent.Monitor:515,1"
      Dst: "[java.lang.IllegalMonitorStateException].<init>()"
    - Src: "com.google.common.util.concurrent.Monitor:518,1"
      Dst: "[java.lang.System].nanoTime()"
    - Src: "com.google.common.util.concurrent.Monitor:519,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    - Src: "com.google.common.util.concurrent.Monitor:520,1"
      Dst: "[java.lang.Thread].interrupted()"
    - Src: "com.google.common.util.concurrent.Monitor:522,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].tryLock()"
    - Src: "com.google.common.util.concurrent.Monitor:526,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].tryLock(long,java.util.concurrent.TimeUnit)"
    - Src: "com.google.common.util.concurrent.Monitor:556,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "com.google.common.util.concurrent.Monitor:556,1"
      Dst: "[java.lang.Thread].interrupt()"
    - Src: "com.google.common.util.concurrent.Monitor:541,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - Src: "com.google.common.util.concurrent.Monitor:541,1"
      Dst: "[com.google.common.util.concurrent.Monitor].awaitNanos(com.google.common.util.concurrent.Monitor$Guard,long,boolean)"
    - Src: "com.google.common.util.concurrent.Monitor:551,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 29
    CyclomaticComplexity: 9
  - functionName: "[com.google.common.util.concurrent.Monitor].enterIf(com.google.common.util.concurrent.Monitor$Guard)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalMonitorStateException].<init>()"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:568"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:571"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:570"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:578"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:571"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:570"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:578"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:571"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:570"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:569,1"
      Dst: "[java.lang.IllegalMonitorStateException].<init>()"
    - Src: "com.google.common.util.concurrent.Monitor:572,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "com.google.common.util.concurrent.Monitor:576,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - Src: "com.google.common.util.concurrent.Monitor:579,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.util.concurrent.Monitor].enterIfInterruptibly(com.google.common.util.concurrent.Monitor$Guard)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalMonitorStateException].<init>()"
    - "[java.util.concurrent.locks.ReentrantLock].lockInterruptibly()"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:591"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:594"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:593"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:601"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:594"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:593"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:601"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:594"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:593"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:592,1"
      Dst: "[java.lang.IllegalMonitorStateException].<init>()"
    - Src: "com.google.common.util.concurrent.Monitor:595,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lockInterruptibly()"
    - Src: "com.google.common.util.concurrent.Monitor:599,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - Src: "com.google.common.util.concurrent.Monitor:602,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions:
      - "java.lang.InterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.util.concurrent.Monitor].enterIf(com.google.common.util.concurrent.Monitor$Guard,long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalMonitorStateException].<init>()"
    - "[com.google.common.util.concurrent.Monitor].enter(long,java.util.concurrent.TimeUnit)"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 0
    ICount: 24
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:614"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:617"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:616"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:617"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:621"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:620"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:625"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:621"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:620"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:625"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:621"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:620"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:615,1"
      Dst: "[java.lang.IllegalMonitorStateException].<init>()"
    - Src: "com.google.common.util.concurrent.Monitor:617,1"
      Dst: "[com.google.common.util.concurrent.Monitor].enter(long,java.util.concurrent.TimeUnit)"
    - Src: "com.google.common.util.concurrent.Monitor:623,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - Src: "com.google.common.util.concurrent.Monitor:626,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.util.concurrent.Monitor].enterIfInterruptibly(com.google.common.util.concurrent.Monitor$Guard,long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalMonitorStateException].<init>()"
    - "[java.util.concurrent.locks.ReentrantLock].tryLock(long,java.util.concurrent.TimeUnit)"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 0
    ICount: 23
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:639"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:642"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:641"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:643"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:647"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:646"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:651"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:647"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:646"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:651"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:647"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:646"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:640,1"
      Dst: "[java.lang.IllegalMonitorStateException].<init>()"
    - Src: "com.google.common.util.concurrent.Monitor:643,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].tryLock(long,java.util.concurrent.TimeUnit)"
    - Src: "com.google.common.util.concurrent.Monitor:649,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - Src: "com.google.common.util.concurrent.Monitor:652,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions:
      - "java.lang.InterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.util.concurrent.Monitor].tryEnterIf(com.google.common.util.concurrent.Monitor$Guard)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalMonitorStateException].<init>()"
    - "[java.util.concurrent.locks.ReentrantLock].tryLock()"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:666"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:669"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:668"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:670"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:674"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:673"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:678"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:674"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:673"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:678"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:674"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:673"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:667,1"
      Dst: "[java.lang.IllegalMonitorStateException].<init>()"
    - Src: "com.google.common.util.concurrent.Monitor:670,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].tryLock()"
    - Src: "com.google.common.util.concurrent.Monitor:676,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - Src: "com.google.common.util.concurrent.Monitor:679,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.util.concurrent.Monitor].waitFor(com.google.common.util.concurrent.Monitor$Guard)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    - "[java.lang.IllegalMonitorStateException].<init>()"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - "[com.google.common.util.concurrent.Monitor].await(com.google.common.util.concurrent.Monitor$Guard,boolean)"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:689"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:689"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:688"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:689"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:692"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:691"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:692"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:695"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:694"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:689,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    - Src: "com.google.common.util.concurrent.Monitor:690,1"
      Dst: "[java.lang.IllegalMonitorStateException].<init>()"
    - Src: "com.google.common.util.concurrent.Monitor:692,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - Src: "com.google.common.util.concurrent.Monitor:693,1"
      Dst: "[com.google.common.util.concurrent.Monitor].await(com.google.common.util.concurrent.Monitor$Guard,boolean)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.InterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[com.google.common.util.concurrent.Monitor].waitForUninterruptibly(com.google.common.util.concurrent.Monitor$Guard)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    - "[java.lang.IllegalMonitorStateException].<init>()"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - "[com.google.common.util.concurrent.Monitor].awaitUninterruptibly(com.google.common.util.concurrent.Monitor$Guard,boolean)"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:702"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:702"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:701"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:702"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:705"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:704"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:705"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:708"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:707"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:702,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    - Src: "com.google.common.util.concurrent.Monitor:703,1"
      Dst: "[java.lang.IllegalMonitorStateException].<init>()"
    - Src: "com.google.common.util.concurrent.Monitor:705,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - Src: "com.google.common.util.concurrent.Monitor:706,1"
      Dst: "[com.google.common.util.concurrent.Monitor].awaitUninterruptibly(com.google.common.util.concurrent.Monitor$Guard,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[com.google.common.util.concurrent.Monitor].waitFor(com.google.common.util.concurrent.Monitor$Guard,long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.TimeUnit].toNanos(long)"
    - "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    - "[java.lang.IllegalMonitorStateException].<init>()"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - "[com.google.common.util.concurrent.Monitor].awaitNanos(com.google.common.util.concurrent.Monitor$Guard,long,boolean)"
    functionUses: 0
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:718"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:717"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:716"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:718"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:721"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:720"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:721"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:720"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:721"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:720"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:717,1"
      Dst: "[java.util.concurrent.TimeUnit].toNanos(long)"
    - Src: "com.google.common.util.concurrent.Monitor:718,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    - Src: "com.google.common.util.concurrent.Monitor:719,1"
      Dst: "[java.lang.IllegalMonitorStateException].<init>()"
    - Src: "com.google.common.util.concurrent.Monitor:721,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - Src: "com.google.common.util.concurrent.Monitor:721,1"
      Dst: "[com.google.common.util.concurrent.Monitor].awaitNanos(com.google.common.util.concurrent.Monitor$Guard,long,boolean)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.InterruptedException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.google.common.util.concurrent.Monitor].waitForUninterruptibly(com.google.common.util.concurrent.Monitor$Guard,long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "boolean"
    argCount: 3
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.TimeUnit].toNanos(long)"
    - "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    - "[java.lang.IllegalMonitorStateException].<init>()"
    - "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - "[java.lang.System].nanoTime()"
    - "[java.lang.Thread].interrupted()"
    - "[com.google.common.util.concurrent.Monitor].awaitNanos(com.google.common.util.concurrent.Monitor$Guard,long,boolean)"
    - "[java.lang.Thread].currentThread()"
    - "[java.lang.Thread].interrupt()"
    functionUses: 0
    ICount: 47
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:732"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:731"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:730"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:732"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:735"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:734"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:735"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:738"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:737"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:755"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:744"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:743"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:747"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:744"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:743"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:755"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:744"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:743"
        BranchSideFuncs: []
    - Branch String: "com.google.common.util.concurrent.Monitor:755"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:744"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:743"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:731,1"
      Dst: "[java.util.concurrent.TimeUnit].toNanos(long)"
    - Src: "com.google.common.util.concurrent.Monitor:732,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    - Src: "com.google.common.util.concurrent.Monitor:733,1"
      Dst: "[java.lang.IllegalMonitorStateException].<init>()"
    - Src: "com.google.common.util.concurrent.Monitor:735,1"
      Dst: "[com.google.common.util.concurrent.Monitor$Guard].isSatisfied()"
    - Src: "com.google.common.util.concurrent.Monitor:739,1"
      Dst: "[java.lang.System].nanoTime()"
    - Src: "com.google.common.util.concurrent.Monitor:740,1"
      Dst: "[java.lang.Thread].interrupted()"
    - Src: "com.google.common.util.concurrent.Monitor:744,1"
      Dst: "[com.google.common.util.concurrent.Monitor].awaitNanos(com.google.common.util.concurrent.Monitor$Guard,long,boolean)"
    - Src: "com.google.common.util.concurrent.Monitor:756,1"
      Dst: "[java.lang.Thread].currentThread()"
    - Src: "com.google.common.util.concurrent.Monitor:756,1"
      Dst: "[java.lang.Thread].interrupt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 19
    CyclomaticComplexity: 4
  - functionName: "[com.google.common.util.concurrent.Monitor].isFair()"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].isOccupied()"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.locks.ReentrantLock].isLocked()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:788,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].isLocked()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].isOccupiedByCurrentThread()"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: 795
    functionLinenumberEnd: 797
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:796,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].isHeldByCurrentThread()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].getOccupiedDepth()"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.locks.ReentrantLock].getHoldCount()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:804,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].getHoldCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].getQueueLength()"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.locks.ReentrantLock].getQueueLength()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:814,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].getQueueLength()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].hasQueuedThreads()"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.locks.ReentrantLock].hasQueuedThreads()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:824,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].hasQueuedThreads()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].hasQueuedThread(java.lang.Thread)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Thread"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.locks.ReentrantLock].hasQueuedThread(java.lang.Thread)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:834,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].hasQueuedThread(java.lang.Thread)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].hasWaiters(com.google.common.util.concurrent.Monitor$Guard)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.util.concurrent.Monitor].getWaitQueueLength(com.google.common.util.concurrent.Monitor$Guard)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:844"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:843"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:844,1"
      Dst: "[com.google.common.util.concurrent.Monitor].getWaitQueueLength(com.google.common.util.concurrent.Monitor$Guard)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.util.concurrent.Monitor].getWaitQueueLength(com.google.common.util.concurrent.Monitor$Guard)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "com.google.common.util.concurrent.Monitor$Guard"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalMonitorStateException].<init>()"
    - "[java.util.concurrent.locks.ReentrantLock].lock()"
    - "[java.util.concurrent.locks.ReentrantLock].unlock()"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.util.concurrent.Monitor:854"
      Branch Sides:
      - BranchSide: "com.google.common.util.concurrent.Monitor:857"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.util.concurrent.Monitor:856"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.util.concurrent.Monitor:855,1"
      Dst: "[java.lang.IllegalMonitorStateException].<init>()"
    - Src: "com.google.common.util.concurrent.Monitor:857,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].lock()"
    - Src: "com.google.common.util.concurrent.Monitor:861,1"
      Dst: "[java.util.concurrent.locks.ReentrantLock].unlock()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.util.concurrent.Monitor].access$000(com.google.common.util.concurrent.Monitor)"
    functionSourceFile: "com.google.common.util.concurrent.Monitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.concurrent.locks.ReentrantLock"
    argCount: 1
    argTypes:
    - "com.google.common.util.concurrent.Monitor"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketConfig].<init>(com.netflix.servo.monitor.BucketConfig$Builder)"
    functionSourceFile: "com.netflix.servo.monitor.BucketConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.BucketConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.netflix.servo.monitor.BucketConfig$Builder].access$000(com.netflix.servo.monitor.BucketConfig$Builder)"
    - "[com.netflix.servo.monitor.BucketConfig$Builder].access$100(com.netflix.servo.monitor.BucketConfig$Builder)"
    - "[java.util.Arrays].copyOf(long[],int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketConfig:106,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.monitor.BucketConfig:107,1"
      Dst: "[com.netflix.servo.monitor.BucketConfig$Builder].access$000(com.netflix.servo.monitor.BucketConfig$Builder)"
    - Src: "com.netflix.servo.monitor.BucketConfig:108,1"
      Dst: "[com.netflix.servo.monitor.BucketConfig$Builder].access$100(com.netflix.servo.monitor.BucketConfig$Builder)"
    - Src: "com.netflix.servo.monitor.BucketConfig:108,1"
      Dst: "[java.util.Arrays].copyOf(long[],int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketConfig].getTimeUnit()"
    functionSourceFile: "com.netflix.servo.monitor.BucketConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.concurrent.TimeUnit"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketConfig].getTimeUnitAbbreviation()"
    functionSourceFile: "com.netflix.servo.monitor.BucketConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].ordinal()"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketConfig:122,1"
      Dst: "[java.lang.Enum].ordinal()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketConfig].getBuckets()"
    functionSourceFile: "com.netflix.servo.monitor.BucketConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].copyOf(long[],int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketConfig:146,1"
      Dst: "[java.util.Arrays].copyOf(long[],int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketConfig].toString()"
    functionSourceFile: "com.netflix.servo.monitor.BucketConfig"
    linkageType: ""
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.util.Arrays].toString(long[])"
    functionUses: 39
    ICount: 13
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketConfig:154,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.BucketConfig:154,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.BucketConfig:154,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BucketConfig:155,1"
      Dst: "[java.util.Arrays].toString(long[])"
    - Src: "com.netflix.servo.monitor.BucketConfig:155,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.BucketConfig:155,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketConfig].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.BucketConfig"
    linkageType: ""
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].equals(long[],long[])"
    functionUses: 40
    ICount: 19
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BucketConfig:163"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketConfig:166"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BucketConfig:165"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BucketConfig:166"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketConfig:170"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BucketConfig:169"
        BranchSideFuncs:
        - "equals(long[],long[])"
    - Branch String: "com.netflix.servo.monitor.BucketConfig:171"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketConfig:169"
        BranchSideFuncs:
        - "equals(long[],long[])"
    - Branch String: "com.netflix.servo.monitor.BucketConfig:171"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketConfig:169"
        BranchSideFuncs:
        - "equals(long[],long[])"
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketConfig:171,1"
      Dst: "[java.util.Arrays].equals(long[],long[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.monitor.BucketConfig].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.BucketConfig"
    linkageType: ""
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].hashCode()"
    - "[java.util.Arrays].hashCode(long[])"
    functionUses: 40
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketConfig:179,1"
      Dst: "[java.lang.Enum].hashCode()"
    - Src: "com.netflix.servo.monitor.BucketConfig:180,1"
      Dst: "[java.util.Arrays].hashCode(long[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer].subId(com.netflix.servo.monitor.MonitorConfig,java.lang.String)"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "com.netflix.servo.monitor.MonitorConfig"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MonitorConfig].getPublishingPolicy()"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withPublishingPolicy(com.netflix.servo.monitor.PublishingPolicy)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer:52,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.DurationTimer:52,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - Src: "com.netflix.servo.monitor.DurationTimer:52,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DurationTimer:52,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.netflix.servo.monitor.DurationTimer:53,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DurationTimer:53,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - Src: "com.netflix.servo.monitor.DurationTimer:53,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.DurationTimer:54,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getPublishingPolicy()"
    - Src: "com.netflix.servo.monitor.DurationTimer:54,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withPublishingPolicy(com.netflix.servo.monitor.PublishingPolicy)"
    - Src: "com.netflix.servo.monitor.DurationTimer:55,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DurationTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer:62,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    - "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - "[com.netflix.servo.monitor.DurationTimer].subId(com.netflix.servo.monitor.MonitorConfig,java.lang.String)"
    - "[com.netflix.servo.monitor.DurationTimer$lambda_new_0__69].bootstrap$(com.netflix.servo.monitor.DurationTimer)"
    - "[com.netflix.servo.monitor.BasicGauge].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.Callable)"
    - "[com.netflix.servo.monitor.DurationTimer$1].<init>(com.netflix.servo.monitor.DurationTimer)"
    - "[com.netflix.servo.util.UnmodifiableList].of(java.lang.Object[])"
    functionUses: 0
    ICount: 26
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer:70,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.DurationTimer:47,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    - Src: "com.netflix.servo.monitor.DurationTimer:48,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - Src: "com.netflix.servo.monitor.DurationTimer:74,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer].subId(com.netflix.servo.monitor.MonitorConfig,java.lang.String)"
    - Src: "com.netflix.servo.monitor.DurationTimer:74,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer$lambda_new_0__69].bootstrap$(com.netflix.servo.monitor.DurationTimer)"
    - Src: "com.netflix.servo.monitor.DurationTimer:74,1"
      Dst: "[com.netflix.servo.monitor.BasicGauge].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.Callable)"
    - Src: "com.netflix.servo.monitor.DurationTimer:77,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer$1].<init>(com.netflix.servo.monitor.DurationTimer)"
    - Src: "com.netflix.servo.monitor.DurationTimer:85,1"
      Dst: "[com.netflix.servo.util.UnmodifiableList].of(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer].getDurationMillis()"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ClockWithOffset].now()"
    - "[com.netflix.servo.util.ManualClock].now()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.lang.Long].longValue()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[com.google.common.collect.MapMakerInternalMap].values()"
    - "[com.google.common.cache.LocalCache].values()"
    - "[com.google.common.collect.ForwardingMap].values()"
    - "[java.util.AbstractMap].values()"
    - "[java.lang.Math].max(long,long)"
    - "[com.netflix.servo.util.Clock].now()"
    - "[java.util.Map].values()"
    - "[java.util.Collection].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 17
    EdgeCount: 252
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.DurationTimer:91"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DurationTimer:94"
        BranchSideFuncs:
        - "values()"
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "longValue()"
      - BranchSide: "com.netflix.servo.monitor.DurationTimer:93"
        BranchSideFuncs:
        - "max(long,long)"
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer:89,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    - Src: "com.netflix.servo.monitor.DurationTimer:91,1"
      Dst: "[java.util.Map].values()"
    - Src: "com.netflix.servo.monitor.DurationTimer:91,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "com.netflix.servo.monitor.DurationTimer:91,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.monitor.DurationTimer:91,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.monitor.DurationTimer:91,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.netflix.servo.monitor.DurationTimer:94,1"
      Dst: "[java.lang.Math].max(long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.DurationTimer].getValue()"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer"
    linkageType: ""
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionDepth: 2
    returnType: "java.lang.Long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DurationTimer].getValue(int)"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer:102,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer].getValue(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionDepth: 1
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DurationTimer].getDurationMillis()"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 3
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer:107,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer].getDurationMillis()"
    - Src: "com.netflix.servo.monitor.DurationTimer:107,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer].getMonitors()"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer"
    linkageType: ""
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer"
    linkageType: ""
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[com.google.common.collect.ForwardingMap].equals(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].equals(java.lang.Object)"
    - "[java.util.AbstractMap].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 41
    ICount: 28
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.DurationTimer:123"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DurationTimer:126"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DurationTimer:125"
        BranchSideFuncs:
        - "getClass()"
    - Branch String: "com.netflix.servo.monitor.DurationTimer:126"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DurationTimer:127"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DurationTimer:126"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.DurationTimer:126"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DurationTimer:130"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DurationTimer:129"
        BranchSideFuncs:
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.DurationTimer:131"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DurationTimer:-1"
        BranchSideFuncs:
        - "get()"
      - BranchSide: "com.netflix.servo.monitor.DurationTimer:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.DurationTimer:132"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DurationTimer:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.netflix.servo.monitor.DurationTimer:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.DurationTimer:133"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DurationTimer:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer:126,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.monitor.DurationTimer:131,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.DurationTimer:131,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.DurationTimer:132,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.servo.monitor.DurationTimer:133,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[com.netflix.servo.monitor.DurationTimer].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer"
    linkageType: ""
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[com.google.common.collect.ForwardingMap].hashCode()"
    - "[java.util.AbstractMap].hashCode()"
    - "[java.util.concurrent.ConcurrentHashMap].hashCode()"
    - "[java.lang.Object].hashCode()"
    functionUses: 41
    ICount: 15
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer:141,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.DurationTimer:141,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.DurationTimer:142,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.servo.monitor.DurationTimer:144,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer].toString()"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer"
    linkageType: ""
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(long)"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 39
    ICount: 19
    EdgeCount: 13
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer:153,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.DurationTimer:153,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DurationTimer:153,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.DurationTimer:153,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.DurationTimer:156,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.servo.monitor.DurationTimer:156,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "com.netflix.servo.monitor.DurationTimer:156,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.DurationTimer:156,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer].start()"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.netflix.servo.monitor.Stopwatch"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DurationTimer$DurationStopwatch].<init>(com.netflix.servo.monitor.DurationTimer,com.netflix.servo.monitor.DurationTimer$1)"
    - "[com.netflix.servo.monitor.Stopwatch].start()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer:167,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer$DurationStopwatch].<init>(com.netflix.servo.monitor.DurationTimer,com.netflix.servo.monitor.DurationTimer$1)"
    - Src: "com.netflix.servo.monitor.DurationTimer:168,1"
      Dst: "[com.netflix.servo.monitor.Stopwatch].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer$DurationStopwatch].<init>(com.netflix.servo.monitor.DurationTimer,com.netflix.servo.monitor.DurationTimer$1)"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.DurationTimer"
    - "com.netflix.servo.monitor.DurationTimer$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DurationTimer$DurationStopwatch].<init>(com.netflix.servo.monitor.DurationTimer)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:172,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer$DurationStopwatch].<init>(com.netflix.servo.monitor.DurationTimer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer$DurationStopwatch].<init>(com.netflix.servo.monitor.DurationTimer)"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.DurationTimer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:172,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer].lambda$new$0()"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DurationTimer].getDurationMillis()"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer:75,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer].getDurationMillis()"
    - Src: "com.netflix.servo.monitor.DurationTimer:75,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer].access$000(com.netflix.servo.monitor.DurationTimer)"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "java.util.concurrent.ConcurrentMap"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.DurationTimer"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer].access$200(com.netflix.servo.monitor.DurationTimer)"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.concurrent.atomic.AtomicLong"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.DurationTimer"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer].access$300(com.netflix.servo.monitor.DurationTimer)"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.util.Clock"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.DurationTimer"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicGauge$1].<init>(com.netflix.servo.monitor.DynamicGauge)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicGauge$1"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.DynamicGauge"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.cache.CacheLoader].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicGauge$1:62,1"
      Dst: "[com.google.common.cache.CacheLoader].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicGauge$1].load(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicGauge$1"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionDepth: 8
    returnType: "com.netflix.servo.monitor.DoubleGauge"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DoubleGauge].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicGauge$1:65,1"
      Dst: "[com.netflix.servo.monitor.DoubleGauge].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig"
    linkageType: ""
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionDepth: 6
    returnType: "com.netflix.servo.monitor.MonitorConfig"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.Tag"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.MonitorConfig].copy()"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTag(com.netflix.servo.tag.Tag)"
    functionUses: 13
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig:244,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].copy()"
    - Src: "com.netflix.servo.monitor.MonitorConfig:244,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.MonitorConfig:244,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTag(com.netflix.servo.tag.Tag)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig$Builder"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionDepth: 3
    returnType: "com.netflix.servo.monitor.MonitorConfig$Builder"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.Tag"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    functionUses: 31
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:72,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext].gauge(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionDepth: 2
    returnType: "com.netflix.servo.SpectatorContext$LazyGauge"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyGauge].<init>(java.util.function.BiFunction,com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    - "[com.netflix.servo.SpectatorContext$gauge__65].bootstrap$()"
    - "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 1
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:115,1"
      Dst: "[com.netflix.servo.SpectatorContext$gauge__65].bootstrap$()"
    - Src: "com.netflix.servo.SpectatorContext:115,1"
      Dst: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.SpectatorContext:115,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyGauge].<init>(java.util.function.BiFunction,com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$gauge__65].bootstrap$()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$gauge__65"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.BiFunction"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$gauge__65].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$gauge__65:-1,1"
      Dst: "[com.netflix.servo.SpectatorContext$gauge__65].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$gauge__65].<init>()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$gauge__65"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$gauge__65:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyGauge].<init>(java.util.function.BiFunction,com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyGauge"
    linkageType: ""
    functionLinenumber: 420
    functionLinenumberEnd: 426
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.util.function.BiFunction"
    - "com.netflix.spectator.api.Registry"
    - "com.netflix.spectator.api.Id"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyGauge:421,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicGauge$1].load(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicGauge$1"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionDepth: 9
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DynamicGauge$1].load(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicGauge$1:62,1"
      Dst: "[com.netflix.servo.monitor.DynamicGauge$1].load(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator].values()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator:539,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator].valueOf(java.lang.String)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator:539,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator].<init>(java.lang.String,int,int)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator:562,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator].compare(com.netflix.servo.util.ThreadCpuStats$CpuUsage,com.netflix.servo.util.ThreadCpuStats$CpuUsage)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator"
    linkageType: ""
    functionLinenumber: 570
    functionLinenumberEnd: 586
    functionDepth: 3
    returnType: "int"
    argCount: 2
    argTypes:
    - "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    - "com.netflix.servo.util.ThreadCpuStats$CpuUsage"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getOneMinute()"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getFiveMinute()"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getFifteenMinute()"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getOverall()"
    functionUses: 1
    ICount: 32
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator:585"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator:584"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator:585"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator:584"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator:573,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getOneMinute()"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator:576,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getFiveMinute()"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator:579,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getFifteenMinute()"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator:582,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsage].getOverall()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 11
    CyclomaticComplexity: 6
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator].compare(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator"
    linkageType: ""
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionDepth: 4
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator].compare(com.netflix.servo.util.ThreadCpuStats$CpuUsage,com.netflix.servo.util.ThreadCpuStats$CpuUsage)"
    functionUses: 42
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator:539,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator].compare(com.netflix.servo.util.ThreadCpuStats$CpuUsage,com.netflix.servo.util.ThreadCpuStats$CpuUsage)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator].$values()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.util.ThreadCpuStats$CpuUsageComparator[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap].iterator()"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap"
    linkageType: ""
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionDepth: 2
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].<init>(com.netflix.servo.tag.SmallTagMap,com.netflix.servo.tag.SmallTagMap$1)"
    functionUses: 60
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap:201,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].<init>(com.netflix.servo.tag.SmallTagMap,com.netflix.servo.tag.SmallTagMap$1)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].<init>(com.netflix.servo.tag.SmallTagMap,com.netflix.servo.tag.SmallTagMap$1)"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$SmallTagIterator"
    linkageType: ""
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.tag.SmallTagMap"
    - "com.netflix.servo.tag.SmallTagMap$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].<init>(com.netflix.servo.tag.SmallTagMap)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap$SmallTagIterator:176,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].<init>(com.netflix.servo.tag.SmallTagMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].<init>(com.netflix.servo.tag.SmallTagMap)"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$SmallTagIterator"
    linkageType: ""
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.SmallTagMap"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap$SmallTagIterator:176,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap].binarySearch(com.netflix.servo.tag.Tag[],java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap"
    linkageType: ""
    functionLinenumber: 216
    functionLinenumberEnd: 234
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "com.netflix.servo.tag.Tag[]"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.InjectableTag].getKey()"
    - "[com.netflix.servo.annotations.DataSourceType].getKey()"
    - "[com.netflix.servo.tag.BasicTag].getKey()"
    - "[com.netflix.servo.annotations.DataSourceLevel].getKey()"
    - "[java.lang.String].compareTo(java.lang.String)"
    - "[com.netflix.servo.tag.Tag].getKey()"
    functionUses: 1
    ICount: 22
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SmallTagMap:220"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:233"
        BranchSideFuncs:
        - "getKey()"
        - "compareTo(java.lang.String)"
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:232"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.tag.SmallTagMap:225"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:227"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:226"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.tag.SmallTagMap:227"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:230"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:229"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap:223,1"
      Dst: "[com.netflix.servo.tag.Tag].getKey()"
    - Src: "com.netflix.servo.tag.SmallTagMap:224,1"
      Dst: "[java.lang.String].compareTo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.tag.SmallTagMap].get(java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap"
    linkageType: ""
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionDepth: 1
    returnType: "com.netflix.servo.tag.Tag"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap].binarySearch(com.netflix.servo.tag.Tag[],java.lang.String)"
    functionUses: 2
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SmallTagMap:241"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:244"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:243"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap:240,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].binarySearch(com.netflix.servo.tag.Tag[],java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap].hashCode()"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap"
    linkageType: ""
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].hashCode(java.lang.Object[])"
    functionUses: 40
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SmallTagMap:253"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:256"
        BranchSideFuncs:
        - "hashCode(java.lang.Object[])"
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:255"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap:254,1"
      Dst: "[java.util.Arrays].hashCode(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.SmallTagMap].toString()"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap"
    linkageType: ""
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.netflix.servo.util.Strings].join(java.lang.String,java.util.Iterator)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 41
    ICount: 10
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap:264,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.tag.SmallTagMap:264,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.tag.SmallTagMap:264,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - Src: "com.netflix.servo.tag.SmallTagMap:264,1"
      Dst: "[com.netflix.servo.util.Strings].join(java.lang.String,java.util.Iterator)"
    - Src: "com.netflix.servo.tag.SmallTagMap:264,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap].containsKey(java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap].get(java.lang.String)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SmallTagMap:271"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:270"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap:271,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].get(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.SmallTagMap].isEmpty()"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SmallTagMap:278"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:277"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.SmallTagMap].size()"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap].tagSet()"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Set"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.util.HashSet].<init>(java.util.Collection)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap:297,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "com.netflix.servo.tag.SmallTagMap:297,1"
      Dst: "[java.util.HashSet].<init>(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap"
    linkageType: ""
    functionLinenumber: 302
    functionLinenumberEnd: 313
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].equals(java.lang.Object[],java.lang.Object[])"
    functionUses: 40
    ICount: 13
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SmallTagMap:303"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:307"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:306"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.tag.SmallTagMap:307"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:308"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:307"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.tag.SmallTagMap:307"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:311"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.SmallTagMap:310"
        BranchSideFuncs:
        - "equals(java.lang.Object[],java.lang.Object[])"
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap:312,1"
      Dst: "[java.util.Arrays].equals(java.lang.Object[],java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.SmallTagMap].access$100(com.netflix.servo.tag.SmallTagMap)"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionDepth: 0
    returnType: "com.netflix.servo.tag.Tag[]"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.SmallTagMap"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.PollScheduler].getInstance()"
    functionSourceFile: "com.netflix.servo.publish.PollScheduler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.publish.PollScheduler"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.PollScheduler].<init>()"
    functionSourceFile: "com.netflix.servo.publish.PollScheduler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicReference].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.PollScheduler:42,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.publish.PollScheduler:45,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.PollScheduler].addPoller(com.netflix.servo.publish.PollRunnable,long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.publish.PollScheduler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.publish.PollRunnable"
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[java.util.concurrent.ScheduledExecutorService].scheduleWithFixedDelay(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.PollScheduler:53"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.PollScheduler:56"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.PollScheduler:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.PollScheduler:52,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "com.netflix.servo.publish.PollScheduler:54,1"
      Dst: "[java.util.concurrent.ScheduledExecutorService].scheduleWithFixedDelay(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.publish.PollScheduler:56,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.PollScheduler].start()"
    functionSourceFile: "com.netflix.servo.publish.PollScheduler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Runtime].getRuntime()"
    - "[java.lang.Runtime].availableProcessors()"
    - "[com.netflix.servo.util.ThreadFactories].withName(java.lang.String)"
    - "[java.util.concurrent.Executors].newScheduledThreadPool(int,java.util.concurrent.ThreadFactory)"
    - "[com.netflix.servo.publish.PollScheduler].start(java.util.concurrent.ScheduledExecutorService)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.PollScheduler:66,1"
      Dst: "[java.lang.Runtime].getRuntime()"
    - Src: "com.netflix.servo.publish.PollScheduler:66,1"
      Dst: "[java.lang.Runtime].availableProcessors()"
    - Src: "com.netflix.servo.publish.PollScheduler:67,1"
      Dst: "[com.netflix.servo.util.ThreadFactories].withName(java.lang.String)"
    - Src: "com.netflix.servo.publish.PollScheduler:68,1"
      Dst: "[java.util.concurrent.Executors].newScheduledThreadPool(int,java.util.concurrent.ThreadFactory)"
    - Src: "com.netflix.servo.publish.PollScheduler:68,1"
      Dst: "[com.netflix.servo.publish.PollScheduler].start(java.util.concurrent.ScheduledExecutorService)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.PollScheduler].start(java.util.concurrent.ScheduledExecutorService)"
    functionSourceFile: "com.netflix.servo.publish.PollScheduler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.concurrent.ScheduledExecutorService"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.PollScheduler:75"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.PollScheduler:78"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.PollScheduler:77"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.PollScheduler:75,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.publish.PollScheduler:76,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.PollScheduler].stop()"
    functionSourceFile: "com.netflix.servo.publish.PollScheduler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.ExecutorService].shutdown()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.PollScheduler:85"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.PollScheduler:88"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.PollScheduler:87"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.PollScheduler:85"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.PollScheduler:88"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.PollScheduler:87"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.PollScheduler:84,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "com.netflix.servo.publish.PollScheduler:85,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].compareAndSet(java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.publish.PollScheduler:86,1"
      Dst: "[java.util.concurrent.ExecutorService].shutdown()"
    - Src: "com.netflix.servo.publish.PollScheduler:88,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.publish.PollScheduler].isStarted()"
    functionSourceFile: "com.netflix.servo.publish.PollScheduler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.PollScheduler:96"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.PollScheduler:95"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.PollScheduler:96,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.util.Iterables].<init>()"
    functionSourceFile: "com.netflix.servo.util.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.Iterables:26,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.Iterables].concat(java.lang.Iterable<E>,java.lang.Iterable<E>)"
    functionSourceFile: "com.netflix.servo.util.Iterables"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionDepth: 0
    returnType: "java.lang.Iterable<E>"
    argCount: 2
    argTypes:
    - "java.lang.Iterable<E>"
    - "java.lang.Iterable<E>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[javax.management.AttributeList].add(java.lang.Object)"
    - "[java.util.ArrayList:javax.management.AttributeList].add(java.lang.Object)"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 17
    EdgeCount: 555
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.Iterables:34"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Iterables:37"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.Iterables:36"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
    - Branch String: "com.netflix.servo.util.Iterables:37"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Iterables:41"
        BranchSideFuncs:
        - "hasNext()"
        - "add(java.lang.Object)"
        - "iterator()"
        - "next()"
      - BranchSide: "com.netflix.servo.util.Iterables:40"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.Iterables:33,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.netflix.servo.util.Iterables:34,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.netflix.servo.util.Iterables:34,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.util.Iterables:34,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.util.Iterables:35,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    functionSourceFile: "com.netflix.servo.DefaultMonitorRegistry"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionDepth: 0
    returnType: "com.netflix.servo.MonitorRegistry"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.DefaultMonitorRegistry].<init>()"
    functionSourceFile: "com.netflix.servo.DefaultMonitorRegistry"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.DefaultMonitorRegistry].<init>(java.util.Properties)"
    - "[com.netflix.servo.DefaultMonitorRegistry].loadProps()"
    functionUses: 1
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.DefaultMonitorRegistry:64,1"
      Dst: "[com.netflix.servo.DefaultMonitorRegistry].loadProps()"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:64,1"
      Dst: "[com.netflix.servo.DefaultMonitorRegistry].<init>(java.util.Properties)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.DefaultMonitorRegistry].<init>(java.util.Properties)"
    functionSourceFile: "com.netflix.servo.DefaultMonitorRegistry"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 92
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Properties"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.Properties].getProperty(java.lang.String)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.Class].getName()"
    - "[java.util.Properties:org.slf4j.helpers.NOPLogger].getProperty(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.jmx.JmxMonitorRegistry].<init>(java.lang.String,com.netflix.servo.jmx.ObjectNameMapper)"
    - "[com.netflix.servo.DefaultMonitorRegistry].getObjectNameMapper(java.util.Properties)"
    - "[java.lang.Class].forName(java.lang.String)"
    - "[java.lang.Class].newInstance()"
    - "[org.slf4j.helpers.SubstituteLogger].error(java.lang.String,java.lang.Object[])"
    - "[org.slf4j.event.EventRecodingLogger].error(java.lang.String,java.lang.Object[])"
    - "[com.netflix.servo.NoopMonitorRegistry].<init>()"
    - "[java.util.Properties].getProperty(java.lang.String,java.lang.String)"
    - "[org.slf4j.Logger].error(java.lang.String,java.lang.Object[])"
    functionUses: 1
    ICount: 39
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.netflix.servo.DefaultMonitorRegistry:73"
      Branch Sides:
      - BranchSide: "com.netflix.servo.DefaultMonitorRegistry:88"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.netflix.servo.DefaultMonitorRegistry:75"
      Branch Sides:
      - BranchSide: "com.netflix.servo.DefaultMonitorRegistry:80"
        BranchSideFuncs:
        - "<init>(java.lang.String,com.netflix.servo.jmx.ObjectNameMapper)"
        - "getObjectNameMapper(java.util.Properties)"
        - "getProperty(java.lang.String,java.lang.String)"
      - BranchSide: "com.netflix.servo.DefaultMonitorRegistry:79"
        BranchSideFuncs:
        - "newInstance()"
        - "getName()"
        - "forName(java.lang.String)"
        - "error(java.lang.String,java.lang.Object[])"
    Callsites:
    - Src: "com.netflix.servo.DefaultMonitorRegistry:71,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:72,1"
      Dst: "[java.util.Properties].getProperty(java.lang.String)"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:75,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:75,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:76,1"
      Dst: "[java.util.Properties].getProperty(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:77,1"
      Dst: "[com.netflix.servo.DefaultMonitorRegistry].getObjectNameMapper(java.util.Properties)"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:77,1"
      Dst: "[com.netflix.servo.jmx.JmxMonitorRegistry].<init>(java.lang.String,com.netflix.servo.jmx.ObjectNameMapper)"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:80,1"
      Dst: "[java.lang.Class].forName(java.lang.String)"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:81,1"
      Dst: "[java.lang.Class].newInstance()"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:83,1"
      Dst: "[org.slf4j.Logger].error(java.lang.String,java.lang.Object[])"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:84,1"
      Dst: "[com.netflix.servo.NoopMonitorRegistry].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.DefaultMonitorRegistry].getObjectNameMapper(java.util.Properties)"
    functionSourceFile: "com.netflix.servo.DefaultMonitorRegistry"
    linkageType: ""
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionDepth: 0
    returnType: "com.netflix.servo.jmx.ObjectNameMapper"
    argCount: 1
    argTypes:
    - "java.util.Properties"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.security.Provider:java.util.Properties:org.slf4j.helpers.NOPLogger].getProperty(java.lang.String)"
    - "[java.lang.Class].forName(java.lang.String)"
    - "[java.lang.Class].newInstance()"
    - "[org.slf4j.helpers.SubstituteLogger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.event.EventRecodingLogger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[java.util.Properties].getProperty(java.lang.String)"
    - "[org.slf4j.Logger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 13
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.netflix.servo.DefaultMonitorRegistry:105"
      Branch Sides:
      - BranchSide: "com.netflix.servo.DefaultMonitorRegistry:113"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.DefaultMonitorRegistry:104,1"
      Dst: "[java.util.Properties].getProperty(java.lang.String)"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:107,1"
      Dst: "[java.lang.Class].forName(java.lang.String)"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:108,1"
      Dst: "[java.lang.Class].newInstance()"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:110,1"
      Dst: "[org.slf4j.Logger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.DefaultMonitorRegistry].loadProps()"
    functionSourceFile: "com.netflix.servo.DefaultMonitorRegistry"
    linkageType: ""
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionDepth: 0
    returnType: "java.util.Properties"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].getProperty(java.lang.String)"
    - "[java.util.Properties].<init>()"
    - "[java.util.Properties].setProperty(java.lang.String,java.lang.String)"
    functionUses: 1
    ICount: 18
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.netflix.servo.DefaultMonitorRegistry:123"
      Branch Sides:
      - BranchSide: "com.netflix.servo.DefaultMonitorRegistry:126"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.DefaultMonitorRegistry:125"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.DefaultMonitorRegistry:126"
      Branch Sides:
      - BranchSide: "com.netflix.servo.DefaultMonitorRegistry:129"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.DefaultMonitorRegistry:128"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.DefaultMonitorRegistry:129"
      Branch Sides:
      - BranchSide: "com.netflix.servo.DefaultMonitorRegistry:132"
        BranchSideFuncs:
        - "setProperty(java.lang.String,java.lang.String)"
      - BranchSide: "com.netflix.servo.DefaultMonitorRegistry:131"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.DefaultMonitorRegistry:118,1"
      Dst: "[java.lang.System].getProperty(java.lang.String)"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:122,1"
      Dst: "[java.util.Properties].<init>()"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:124,1"
      Dst: "[java.util.Properties].setProperty(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.DefaultMonitorRegistry].getRegisteredMonitors()"
    functionSourceFile: "com.netflix.servo.DefaultMonitorRegistry"
    linkageType: ""
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionDepth: 0
    returnType: "java.util.Collection"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.BasicMonitorRegistry].getRegisteredMonitors()"
    - "[com.netflix.servo.jmx.JmxMonitorRegistry].getRegisteredMonitors()"
    - "[com.netflix.servo.DefaultMonitorRegistry].getRegisteredMonitors()"
    - "[com.netflix.servo.NoopMonitorRegistry].getRegisteredMonitors()"
    - "[com.netflix.servo.MonitorRegistry].getRegisteredMonitors()"
    functionUses: 2
    ICount: 4
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.DefaultMonitorRegistry:140,1"
      Dst: "[com.netflix.servo.MonitorRegistry].getRegisteredMonitors()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.DefaultMonitorRegistry].register(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.DefaultMonitorRegistry"
    linkageType: ""
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext].register(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.jmx.JmxMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.DefaultMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.BasicMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.NoopMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.MonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    functionUses: 6
    ICount: 6
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.DefaultMonitorRegistry:148,1"
      Dst: "[com.netflix.servo.SpectatorContext].register(com.netflix.servo.monitor.Monitor)"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:149,1"
      Dst: "[com.netflix.servo.MonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.DefaultMonitorRegistry].unregister(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.DefaultMonitorRegistry"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext].unregister(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.MonitorRegistry].unregister(com.netflix.servo.monitor.Monitor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.DefaultMonitorRegistry:157,1"
      Dst: "[com.netflix.servo.SpectatorContext].unregister(com.netflix.servo.monitor.Monitor)"
    - Src: "com.netflix.servo.DefaultMonitorRegistry:158,1"
      Dst: "[com.netflix.servo.MonitorRegistry].unregister(com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.DefaultMonitorRegistry].getInnerRegistry()"
    functionSourceFile: "com.netflix.servo.DefaultMonitorRegistry"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.MonitorRegistry"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.DefaultMonitorRegistry].isRegistered(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.DefaultMonitorRegistry"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.MonitorRegistry].isRegistered(com.netflix.servo.monitor.Monitor)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.DefaultMonitorRegistry:170,1"
      Dst: "[com.netflix.servo.MonitorRegistry].isRegistered(com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.Objects].hash(java.lang.Object[])"
    functionSourceFile: "com.netflix.servo.util.Objects"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].hashCode(java.lang.Object[])"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.Objects:31,1"
      Dst: "[java.util.Arrays].hashCode(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.Objects].<init>()"
    functionSourceFile: "com.netflix.servo.util.Objects"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.Objects:34,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$14].<init>(java.lang.Iterable,java.util.Comparator)"
    functionSourceFile: "com.google.common.collect.Iterables$14"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "java.util.Comparator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.FluentIterable].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$14:1008,1"
      Dst: "[com.google.common.collect.FluentIterable].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$14].iterator()"
    functionSourceFile: "com.google.common.collect.Iterables$14"
    linkageType: ""
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionDepth: 3
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterables].access$300()"
    - "[com.google.common.collect.Iterators].mergeSorted(java.lang.Iterable,java.util.Comparator)"
    - "[com.google.common.collect.Iterables].transform(java.lang.Iterable,com.google.common.base.Function)"
    functionUses: 56
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$14:1011,1"
      Dst: "[com.google.common.collect.Iterables].access$300()"
    - Src: "com.google.common.collect.Iterables$14:1011,1"
      Dst: "[com.google.common.collect.Iterables].transform(java.lang.Iterable,com.google.common.base.Function)"
    - Src: "com.google.common.collect.Iterables$14:1011,1"
      Dst: "[com.google.common.collect.Iterators].mergeSorted(java.lang.Iterable,java.util.Comparator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].access$300()"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionDepth: 2
    returnType: "com.google.common.base.Function"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterables].toIterator()"
    functionUses: 1
    ICount: 2
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:60,1"
      Dst: "[com.google.common.collect.Iterables].toIterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].toIterator()"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 1022
    functionLinenumberEnd: 1024
    functionDepth: 1
    returnType: "com.google.common.base.Function"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterables$15].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:1023,1"
      Dst: "[com.google.common.collect.Iterables$15].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$15].<init>()"
    functionSourceFile: "com.google.common.collect.Iterables$15"
    linkageType: ""
    functionLinenumber: 1022
    functionLinenumberEnd: 1024
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$15:1023,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].transform(java.lang.Iterable,com.google.common.base.Function)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionDepth: 1
    returnType: "java.lang.Iterable"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "com.google.common.base.Function"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.collect.Iterables$8].<init>(java.lang.Iterable,com.google.common.base.Function)"
    functionUses: 4
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:704,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:706,1"
      Dst: "[com.google.common.collect.Iterables$8].<init>(java.lang.Iterable,com.google.common.base.Function)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$8].<init>(java.lang.Iterable,com.google.common.base.Function)"
    functionSourceFile: "com.google.common.collect.Iterables$8"
    linkageType: ""
    functionLinenumber: 705
    functionLinenumberEnd: 707
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "com.google.common.base.Function"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.FluentIterable].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$8:706,1"
      Dst: "[com.google.common.collect.FluentIterable].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$8].iterator()"
    functionSourceFile: "com.google.common.collect.Iterables$8"
    linkageType: ""
    functionLinenumber: 708
    functionLinenumberEnd: 710
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[com.google.common.collect.Iterators].transform(java.util.Iterator,com.google.common.base.Function)"
    - "[java.lang.Iterable].iterator()"
    functionUses: 56
    ICount: 6
    EdgeCount: 179
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$8:709,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables$8:709,1"
      Dst: "[com.google.common.collect.Iterators].transform(java.util.Iterator,com.google.common.base.Function)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer$DurationStopwatch].start()"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DurationTimer].access$200(com.netflix.servo.monitor.DurationTimer)"
    - "[java.util.concurrent.atomic.AtomicLong].getAndIncrement()"
    - "[com.netflix.servo.monitor.DurationTimer].access$000(com.netflix.servo.monitor.DurationTimer)"
    - "[java.lang.Long].valueOf(long)"
    - "[com.netflix.servo.monitor.DurationTimer].access$300(com.netflix.servo.monitor.DurationTimer)"
    - "[com.netflix.servo.util.Clock].now()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:177,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer].access$200(com.netflix.servo.monitor.DurationTimer)"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:177,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].getAndIncrement()"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:178,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer].access$000(com.netflix.servo.monitor.DurationTimer)"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:178,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:178,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer].access$300(com.netflix.servo.monitor.DurationTimer)"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:178,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:178,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer$DurationStopwatch].stop()"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DurationTimer].access$000(com.netflix.servo.monitor.DurationTimer)"
    - "[java.lang.Long].valueOf(long)"
    - "[java.util.Map].remove(java.lang.Object)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:183"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:187"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:186"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:184,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer].access$000(com.netflix.servo.monitor.DurationTimer)"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:184,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:184,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.DurationTimer$DurationStopwatch].reset()"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DurationTimer].access$000(com.netflix.servo.monitor.DurationTimer)"
    - "[java.lang.Long].valueOf(long)"
    - "[com.netflix.servo.monitor.DurationTimer].access$300(com.netflix.servo.monitor.DurationTimer)"
    - "[com.netflix.servo.util.Clock].now()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:191"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:194"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:193"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:192,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer].access$000(com.netflix.servo.monitor.DurationTimer)"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:192,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:192,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer].access$300(com.netflix.servo.monitor.DurationTimer)"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:192,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:192,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.DurationTimer$DurationStopwatch].getDuration(java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 1
    argTypes:
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DurationTimer].access$000(com.netflix.servo.monitor.DurationTimer)"
    - "[java.lang.Long].valueOf(long)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.Long].longValue()"
    - "[com.netflix.servo.monitor.DurationTimer].access$300(com.netflix.servo.monitor.DurationTimer)"
    - "[com.netflix.servo.util.Clock].now()"
    - "[java.lang.Math].max(long,long)"
    - "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:199"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:203"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:202"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:200,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer].access$000(com.netflix.servo.monitor.DurationTimer)"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:200,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:200,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:200,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:201,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer].access$300(com.netflix.servo.monitor.DurationTimer)"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:201,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:203,1"
      Dst: "[java.lang.Math].max(long,long)"
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:204,1"
      Dst: "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.DurationTimer$DurationStopwatch].getDuration()"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DurationTimer$DurationStopwatch].getDuration(java.util.concurrent.TimeUnit)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer$DurationStopwatch:209,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer$DurationStopwatch].getDuration(java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.yaml.snakeyaml.nodes.Tag].<init>(java.lang.String)"
    functionSourceFile: "org.yaml.snakeyaml.nodes.Tag"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.lang.String].length()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.lang.String].trim()"
    functionUses: 18
    ICount: 21
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "org.yaml.snakeyaml.nodes.Tag:71"
      Branch Sides:
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:73"
        BranchSideFuncs: []
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:72"
        BranchSideFuncs: []
    - Branch String: "org.yaml.snakeyaml.nodes.Tag:73"
      Branch Sides:
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:75"
        BranchSideFuncs: []
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:74"
        BranchSideFuncs:
        - "trim()"
        - "length()"
    - Branch String: "org.yaml.snakeyaml.nodes.Tag:75"
      Branch Sides:
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:78"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:77"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.yaml.snakeyaml.nodes.Tag:70,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.yaml.snakeyaml.nodes.Tag:72,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "org.yaml.snakeyaml.nodes.Tag:73,1"
      Dst: "[java.lang.String].length()"
    - Src: "org.yaml.snakeyaml.nodes.Tag:74,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "org.yaml.snakeyaml.nodes.Tag:75,1"
      Dst: "[java.lang.String].trim()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[org.yaml.snakeyaml.nodes.Tag].<init>(java.lang.Class)"
    functionSourceFile: "org.yaml.snakeyaml.nodes.Tag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Class].getName()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "org.yaml.snakeyaml.nodes.Tag:82"
      Branch Sides:
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:85"
        BranchSideFuncs: []
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:84"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.yaml.snakeyaml.nodes.Tag:81,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "org.yaml.snakeyaml.nodes.Tag:83,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "org.yaml.snakeyaml.nodes.Tag:85,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.yaml.snakeyaml.nodes.Tag:85,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.yaml.snakeyaml.nodes.Tag:85,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "org.yaml.snakeyaml.nodes.Tag:85,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.yaml.snakeyaml.nodes.Tag].getValue()"
    functionSourceFile: "org.yaml.snakeyaml.nodes.Tag"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.yaml.snakeyaml.nodes.Tag].startsWith(java.lang.String)"
    functionSourceFile: "org.yaml.snakeyaml.nodes.Tag"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].startsWith(java.lang.String)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.yaml.snakeyaml.nodes.Tag:93,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.yaml.snakeyaml.nodes.Tag].getClassName()"
    functionSourceFile: "org.yaml.snakeyaml.nodes.Tag"
    linkageType: ""
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].startsWith(java.lang.String)"
    - "[org.yaml.snakeyaml.error.YAMLException].<init>(java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.String].length()"
    - "[java.lang.String].substring(int)"
    functionUses: 1
    ICount: 18
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "org.yaml.snakeyaml.nodes.Tag:97"
      Branch Sides:
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:100"
        BranchSideFuncs:
        - "<init>()"
        - "append(java.lang.String)"
        - "toString()"
        - "<init>(java.lang.String)"
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:99"
        BranchSideFuncs:
        - "substring(int)"
        - "length()"
    Callsites:
    - Src: "org.yaml.snakeyaml.nodes.Tag:97,1"
      Dst: "[java.lang.String].startsWith(java.lang.String)"
    - Src: "org.yaml.snakeyaml.nodes.Tag:98,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.yaml.snakeyaml.nodes.Tag:98,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.yaml.snakeyaml.nodes.Tag:98,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.yaml.snakeyaml.nodes.Tag:98,1"
      Dst: "[org.yaml.snakeyaml.error.YAMLException].<init>(java.lang.String)"
    - Src: "org.yaml.snakeyaml.nodes.Tag:100,1"
      Dst: "[java.lang.String].length()"
    - Src: "org.yaml.snakeyaml.nodes.Tag:100,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.yaml.snakeyaml.nodes.Tag].getLength()"
    functionSourceFile: "org.yaml.snakeyaml.nodes.Tag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.yaml.snakeyaml.nodes.Tag:104,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.yaml.snakeyaml.nodes.Tag].toString()"
    functionSourceFile: "org.yaml.snakeyaml.nodes.Tag"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 39
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.yaml.snakeyaml.nodes.Tag].equals(java.lang.Object)"
    functionSourceFile: "org.yaml.snakeyaml.nodes.Tag"
    linkageType: ""
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.nodes.Tag].getValue()"
    - "[com.google.common.collect.ImmutableMultimap].toString()"
    - "[bsh.BSHMethodDeclaration].toString()"
    - "[com.netflix.servo.monitor.MonitorWrapper].toString()"
    - "[com.google.common.hash.Funnels$SequentialFunnel].toString()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].toString()"
    - "[com.google.common.collect.ReverseOrdering].toString()"
    - "[com.netflix.spectator.impl.matcher.ZeroOrMoreMatcher].toString()"
    - "[com.netflix.servo.stats.StatsConfig].toString()"
    - "[com.google.common.base.Enums$ValueOfFunction].toString()"
    - "[com.google.common.base.Converter$ConverterComposition].toString()"
    - "[com.netflix.servo.tag.BasicTag].toString()"
    - "[com.google.common.io.ByteSink$AsCharSink].toString()"
    - "[org.testng.remote.strprotocol.TestResultMessage].toString()"
    - "[com.netflix.spectator.impl.matcher.NegativeLookaheadMatcher].toString()"
    - "[com.google.common.collect.MapMaker].toString()"
    - "[com.google.common.io.CharSource$ConcatenatedCharSource].toString()"
    - "[com.google.common.base.Functions$FunctionComposition].toString()"
    - "[com.google.common.base.Predicates$CompositionPredicate].toString()"
    - "[jdk.internal.math.FDBigInteger].toString()"
    - "[com.netflix.spectator.impl.StepDouble].toString()"
    - "[java.lang.Short].toString()"
    - "[com.google.common.collect.ArrayListMultimap].toString()"
    - "[com.google.common.util.concurrent.AbstractIdleService].toString()"
    - "[com.google.common.collect.ByFunctionOrdering].toString()"
    - "[com.google.common.collect.HashMultimap].toString()"
    - "[com.google.common.collect.ComparatorOrdering].toString()"
    - "[com.google.common.base.Functions$SupplierFunction].toString()"
    - "[bsh.SimpleNode].toString()"
    - "[org.testng.TestListenerAdapter].toString()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].toString()"
    - "[org.testng.xml.XmlSuite].toString()"
    - "[com.google.common.base.Objects$ToStringHelper].toString()"
    - "[org.yaml.snakeyaml.nodes.SequenceNode].toString()"
    - "[com.google.common.base.Predicates$IsEqualToPredicate].toString()"
    - "[com.google.common.base.Suppliers$ExpiringMemoizingSupplier].toString()"
    - "[com.google.common.base.Predicates$AssignableFromPredicate].toString()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].toString()"
    - "[bsh.BSHVariableDeclarator].toString()"
    - "[com.netflix.servo.monitor.StepCounter].toString()"
    - "[com.google.common.eventbus.EventSubscriber].toString()"
    - "[junit.framework.TestFailure].toString()"
    - "[com.google.common.collect.TreeMultimap].toString()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].toString()"
    - "[com.netflix.servo.monitor.NumberGauge].toString()"
    - "[java.io.File].toString()"
    - "[junit.framework.TestCase].toString()"
    - "[org.yaml.snakeyaml.error.Mark].toString()"
    - "[com.google.common.collect.LexicographicalOrdering].toString()"
    - "[com.netflix.servo.monitor.MinGauge].toString()"
    - "[com.google.common.base.Suppliers$ThreadSafeSupplier].toString()"
    - "[com.netflix.spectator.impl.matcher.RepeatMatcher].toString()"
    - "[com.google.common.hash.HashCode].toString()"
    - "[bsh.NameSpace].toString()"
    - "[com.google.common.reflect.Element].toString()"
    - "[bsh.LHS].toString()"
    - "[org.testng.internal.ClassImpl].toString()"
    - "[com.google.common.collect.LinkedListMultimap].toString()"
    - "[com.google.common.hash.Murmur3_32HashFunction].toString()"
    - "[com.google.common.util.concurrent.AbstractScheduledService].toString()"
    - "[com.netflix.spectator.impl.matcher.OrMatcher].toString()"
    - "[com.google.common.base.Predicates$NotPredicate].toString()"
    - "[com.google.common.reflect.TypeToken$2].toString()"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$MostFrequentLimiter].toString()"
    - "[bsh.CallStack].toString()"
    - "[com.google.common.util.concurrent.RateLimiter].toString()"
    - "[com.google.common.base.CaseFormat$StringConverter].toString()"
    - "[bsh.XThis].toString()"
    - "[com.google.common.base.Suppliers$MemoizingSupplier].toString()"
    - "[com.netflix.spectator.impl.matcher.ZeroOrOneMatcher].toString()"
    - "[com.google.common.io.BaseEncoding$SeparatedBaseEncoding].toString()"
    - "[com.google.common.io.ByteStreams$4].toString()"
    - "[bsh.Primitive].toString()"
    - "[org.yaml.snakeyaml.nodes.MappingNode].toString()"
    - "[com.google.common.io.CharStreams$4].toString()"
    - "[com.google.common.base.Suppliers$SupplierOfInstance].toString()"
    - "[com.netflix.servo.monitor.DynamicGauge].toString()"
    - "[bsh.This].toString()"
    - "[com.google.common.collect.Multisets$AbstractEntry].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor].toString()"
    - "[com.google.common.hash.Funnels$StringCharsetFunnel].toString()"
    - "[com.google.common.base.Predicates$AndPredicate].toString()"
    - "[jdk.internal.org.objectweb.asm.Type].toString()"
    - "[org.yaml.snakeyaml.nodes.ScalarNode].toString()"
    - "[org.testng.internal.BaseTestMethod].toString()"
    - "[bsh.EvalError].toString()"
    - "[jdk.internal.misc.Signal$NativeHandler].toString()"
    - "[com.netflix.servo.monitor.StepLong].toString()"
    - "[com.google.common.collect.HashBasedTable].toString()"
    - "[org.yaml.snakeyaml.scanner.SimpleKey].toString()"
    - "[java.lang.Character].toString()"
    - "[com.netflix.spectator.impl.matcher.CharSeqMatcher].toString()"
    - "[com.google.common.primitives.UnsignedInteger].toString()"
    - "[java.lang.Long].toString()"
    - "[com.google.common.collect.LinkedHashMultiset].toString()"
    - "[com.google.common.net.HostAndPort].toString()"
    - "[com.google.common.collect.ImmutableTable].toString()"
    - "[com.google.common.cache.CacheBuilder].toString()"
    - "[com.google.common.collect.AbstractMapEntry].toString()"
    - "[org.testng.internal.ClonedMethod].toString()"
    - "[com.google.common.collect.TreeMultiset].toString()"
    - "[jdk.internal.org.objectweb.asm.Label].toString()"
    - "[com.google.common.collect.ImmutableRangeMap].toString()"
    - "[com.google.common.io.Resources$UrlByteSource].toString()"
    - "[com.google.common.collect.ForwardingObject].toString()"
    - "[bsh.BSHClassDeclaration].toString()"
    - "[com.netflix.spectator.api.DefaultId].toString()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].toString()"
    - "[com.google.common.collect.Tables$AbstractCell].toString()"
    - "[com.netflix.spectator.impl.matcher.IndexOfMatcher].toString()"
    - "[com.google.common.collect.Cut$BelowValue].toString()"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].toString()"
    - "[org.testng.internal.MapList].toString()"
    - "[com.google.common.io.CharStreams$3].toString()"
    - "[com.google.common.base.Present].toString()"
    - "[com.google.common.cache.LongAdder].toString()"
    - "[java.lang.Class].toString()"
    - "[com.google.common.base.Predicates$InPredicate].toString()"
    - "[com.netflix.spectator.api.Measurement].toString()"
    - "[com.google.common.cache.CacheStats].toString()"
    - "[com.netflix.servo.monitor.DynamicTimer].toString()"
    - "[com.google.common.collect.NullsFirstOrdering].toString()"
    - "[com.netflix.servo.monitor.MaxGauge].toString()"
    - "[com.google.common.collect.Sets$DescendingSet].toString()"
    - "[com.google.common.io.ByteSource$ByteArrayByteSource].toString()"
    - "[com.netflix.spectator.api.BasicTag].toString()"
    - "[org.slf4j.helpers.MarkerIgnoringBase].toString()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].toString()"
    - "[com.google.common.collect.Maps$ValueDifferenceImpl].toString()"
    - "[com.netflix.spectator.api.NoopId].toString()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].toString()"
    - "[com.google.common.collect.Maps$MapDifferenceImpl].toString()"
    - "[junit.framework.TestSuite].toString()"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].toString()"
    - "[com.google.common.collect.TreeMultiset$AvlNode].toString()"
    - "[bsh.classpath.DiscreteFilesClassLoader].toString()"
    - "[com.google.common.reflect.Types$ParameterizedTypeImpl].toString()"
    - "[com.google.common.collect.FluentIterable].toString()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].toString()"
    - "[org.testng.internal.DynamicGraph].toString()"
    - "[com.google.common.collect.Maps$BiMapConverter].toString()"
    - "[jdk.internal.module.ModuleResolution].toString()"
    - "[com.google.common.reflect.Parameter].toString()"
    - "[bsh.ParseException].toString()"
    - "[com.google.common.collect.Maps$DescendingMap].toString()"
    - "[com.google.common.base.FunctionalEquivalence].toString()"
    - "[com.google.common.hash.Funnels$SinkAsStream].toString()"
    - "[com.google.common.base.Stopwatch].toString()"
    - "[com.google.common.base.StandardSystemProperty].toString()"
    - "[org.yaml.snakeyaml.events.ImplicitTuple].toString()"
    - "[org.testng.internal.TestResult].toString()"
    - "[com.google.common.util.concurrent.AtomicDouble].toString()"
    - "[com.google.common.collect.TreeRangeMap].toString()"
    - "[com.google.common.collect.ImmutableMultiset].toString()"
    - "[bsh.servlet.SimpleTemplate].toString()"
    - "[com.google.common.base.Functions$ConstantFunction].toString()"
    - "[bsh.classpath.BshClassPath$JarClassSource].toString()"
    - "[bsh.ClassIdentifier].toString()"
    - "[com.google.common.base.Functions$PredicateFunction].toString()"
    - "[org.testng.internal.junit.ArrayComparisonFailure].toString()"
    - "[com.google.common.collect.SingletonImmutableSet].toString()"
    - "[com.google.common.reflect.Types$WildcardTypeImpl].toString()"
    - "[com.google.common.collect.Cut$AboveValue].toString()"
    - "[com.google.common.base.Predicates$OrPredicate].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].toString()"
    - "[com.netflix.servo.monitor.BucketConfig].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$LineBreak].toString()"
    - "[com.google.common.collect.ContiguousSet].toString()"
    - "[java.lang.Double].toString()"
    - "[com.google.common.base.Equivalence$EquivalentToPredicate].toString()"
    - "[com.google.common.reflect.TypeToken$1].toString()"
    - "[com.google.common.io.BaseEncoding$StandardBaseEncoding].toString()"
    - "[com.google.common.io.ByteSource$AsCharSource].toString()"
    - "[com.google.common.collect.ArrayTable].toString()"
    - "[com.google.common.base.Predicates$ContainsPatternPredicate].toString()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].toString()"
    - "[com.google.common.collect.DescendingMultiset].toString()"
    - "[org.testng.SuiteResult].toString()"
    - "[com.google.common.hash.SipHashFunction].toString()"
    - "[com.google.common.base.Splitter$5].toString()"
    - "[com.netflix.spectator.impl.StepLong].toString()"
    - "[jdk.internal.jimage.ImageReader$Node].toString()"
    - "[com.google.common.hash.Murmur3_128HashFunction].toString()"
    - "[com.netflix.servo.monitor.PeakRateCounter].toString()"
    - "[com.google.common.collect.AbstractMultimap].toString()"
    - "[com.google.common.base.Functions$FunctionForMapNoDefault].toString()"
    - "[junit.extensions.RepeatedTest].toString()"
    - "[com.google.common.collect.SingletonImmutableList].toString()"
    - "[org.testng.internal.TestMethodWorker].toString()"
    - "[com.google.common.collect.AbstractMultiset].toString()"
    - "[org.yaml.snakeyaml.nodes.NodeTuple].toString()"
    - "[org.slf4j.helpers.BasicMarker].toString()"
    - "[bsh.classpath.BshClassPath].toString()"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].toString()"
    - "[com.google.common.reflect.AbstractInvocationHandler].toString()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].toString()"
    - "[com.netflix.servo.monitor.DoubleCounter].toString()"
    - "[com.netflix.spectator.impl.matcher.CharClassMatcher].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor$LongGaugeWrapper].toString()"
    - "[java.lang.StringBuffer].toString()"
    - "[com.google.common.collect.AbstractTable].toString()"
    - "[com.google.common.io.ByteSource$ConcatenatedByteSource].toString()"
    - "[org.testng.internal.Graph].toString()"
    - "[com.netflix.spectator.api.ExtendedRegistry].toString()"
    - "[org.yaml.snakeyaml.introspector.Property].toString()"
    - "[com.google.common.base.Converter$ReverseConverter].toString()"
    - "[com.google.common.collect.LinkedHashMultimap].toString()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap].toString()"
    - "[jdk.internal.org.objectweb.asm.TypePath].toString()"
    - "[com.google.common.net.MediaType].toString()"
    - "[com.netflix.servo.monitor.StatsTimer].toString()"
    - "[org.testng.remote.strprotocol.SuiteMessage].toString()"
    - "[com.netflix.servo.monitor.AnnotatedStringMonitor].toString()"
    - "[org.testng.internal.Graph$Node].toString()"
    - "[jdk.internal.misc.Signal].toString()"
    - "[com.netflix.spectator.impl.matcher.SeqMatcher].toString()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].toString()"
    - "[com.netflix.servo.util.ExpiringCache].toString()"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$RollupLimiter].toString()"
    - "[com.netflix.servo.monitor.DurationTimer].toString()"
    - "[com.google.common.io.GwtWorkarounds$6].toString()"
    - "[org.testng.internal.ResultMap].toString()"
    - "[com.google.common.io.Files$FileByteSource].toString()"
    - "[com.google.common.primitives.UnsignedLong].toString()"
    - "[java.lang.Throwable].toString()"
    - "[com.netflix.servo.monitor.BasicGauge].toString()"
    - "[com.google.common.collect.AbstractRangeSet].toString()"
    - "[jdk.internal.org.objectweb.asm.Handle].toString()"
    - "[com.google.common.base.PairwiseEquivalence].toString()"
    - "[org.testng.TestClass].toString()"
    - "[com.google.common.collect.ImmutableMap].toString()"
    - "[com.google.common.reflect.TypeToken].toString()"
    - "[bsh.classpath.BshClassPath$DirClassSource].toString()"
    - "[com.google.common.collect.GeneralRange].toString()"
    - "[com.google.common.collect.Collections2$PermutationCollection].toString()"
    - "[com.google.common.reflect.TypeParameter].toString()"
    - "[java.lang.Object].toString()"
    - "[java.lang.Float].toString()"
    - "[com.google.common.cache.CacheBuilderSpec].toString()"
    - "[com.google.common.util.concurrent.AbstractService].toString()"
    - "[org.yaml.snakeyaml.tokens.Token].toString()"
    - "[com.beust.jcommander.ParameterDescription].toString()"
    - "[java.lang.Integer].toString()"
    - "[org.testng.internal.MethodInstance].toString()"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].toString()"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$FirstLimiter].toString()"
    - "[org.yaml.snakeyaml.error.MarkedYAMLException].toString()"
    - "[jdk.internal.perf.PerfCounter].toString()"
    - "[com.google.common.io.ByteStreams$3].toString()"
    - "[com.netflix.servo.monitor.BucketTimer].toString()"
    - "[com.google.common.collect.Synchronized$SynchronizedObject].toString()"
    - "[com.google.common.io.ByteSource$SlicedByteSource].toString()"
    - "[com.netflix.spectator.impl.matcher.StartsWithMatcher].toString()"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].toString()"
    - "[org.testng.internal.InvokedMethod].toString()"
    - "[com.netflix.servo.monitor.DoubleGauge].toString()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].toString()"
    - "[com.netflix.servo.tag.SmallTagMap].toString()"
    - "[com.netflix.spectator.impl.matcher.IgnoreCaseMatcher].toString()"
    - "[com.google.common.collect.Range].toString()"
    - "[com.google.common.base.Suppliers$SupplierComposition].toString()"
    - "[com.google.common.reflect.Invokable].toString()"
    - "[com.google.common.collect.CompoundOrdering].toString()"
    - "[com.google.common.io.Files$FileByteSink].toString()"
    - "[com.netflix.spectator.impl.matcher.PositiveLookaheadMatcher].toString()"
    - "[bsh.BshMethod].toString()"
    - "[com.netflix.servo.tag.BasicTagList].toString()"
    - "[org.testng.ReporterConfig].toString()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].toString()"
    - "[com.google.common.collect.ConcurrentHashMultiset].toString()"
    - "[com.google.common.collect.TreeBasedTable].toString()"
    - "[com.netflix.servo.monitor.BasicInformational].toString()"
    - "[com.google.common.base.Enums$StringConverter].toString()"
    - "[com.google.common.util.concurrent.AtomicDoubleArray].toString()"
    - "[com.google.common.util.concurrent.AbstractExecutionThreadService].toString()"
    - "[com.google.common.reflect.Types$GenericArrayTypeImpl].toString()"
    - "[org.testng.xml.XmlClass].toString()"
    - "[com.netflix.servo.Metric].toString()"
    - "[com.netflix.servo.tag.SortedTagList].toString()"
    - "[com.google.common.base.Functions$ForMapWithDefault].toString()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].toString()"
    - "[java.lang.Thread].toString()"
    - "[jdk.internal.module.ModuleHashes].toString()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource].toString()"
    - "[org.yaml.snakeyaml.events.Event].toString()"
    - "[bsh.BSHAmbiguousName].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$Version].toString()"
    - "[com.google.common.collect.Iterables$1].toString()"
    - "[com.google.common.collect.Sets$PowerSet].toString()"
    - "[org.testng.xml.XmlTest].toString()"
    - "[org.yaml.snakeyaml.resolver.ResolverTuple].toString()"
    - "[com.netflix.servo.monitor.LongGauge].toString()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].toString()"
    - "[com.google.common.collect.HashMultiset].toString()"
    - "[org.testng.remote.strprotocol.TestMessage].toString()"
    - "[com.google.common.cache.RemovalNotification].toString()"
    - "[org.yaml.snakeyaml.TypeDescription].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper].toString()"
    - "[com.netflix.servo.monitor.BasicTimer].toString()"
    - "[com.netflix.spectator.api.ArrayTagSet].toString()"
    - "[org.testng.remote.strprotocol.GenericMessage].toString()"
    - "[com.netflix.servo.monitor.MonitorConfig].toString()"
    - "[com.google.common.base.Predicates$InstanceOfPredicate].toString()"
    - "[org.testng.SuiteRunnerWorker].toString()"
    - "[jdk.internal.jmod.JmodFile$Entry].toString()"
    - "[com.google.common.base.Equivalence$Wrapper].toString()"
    - "[com.netflix.spectator.api.histogram.BucketFunctions$Bucket].toString()"
    - "[java.lang.Byte].toString()"
    - "[com.netflix.servo.monitor.DynamicCounter].toString()"
    - "[junit.extensions.TestDecorator].toString()"
    - "[com.netflix.servo.util.ExpiringCache$Entry].toString()"
    - "[bsh.TargetError].toString()"
    - "[org.yaml.snakeyaml.reader.ReaderException].toString()"
    - "[com.google.common.collect.Count].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$FlowStyle].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$ScalarStyle].toString()"
    - "[com.google.common.collect.EnumMultiset].toString()"
    - "[jdk.internal.module.ModuleReferenceImpl].toString()"
    - "[bsh.Variable].toString()"
    - "[com.google.common.util.concurrent.AtomicLongMap].toString()"
    - "[com.google.common.util.concurrent.ServiceManager].toString()"
    - "[bsh.Modifiers].toString()"
    - "[com.google.common.collect.NullsLastOrdering].toString()"
    - "[com.google.common.collect.ExplicitOrdering].toString()"
    - "[com.netflix.servo.monitor.BasicCounter].toString()"
    - "[java.lang.ProcessBuilder$Redirect$3].toString()"
    - "[java.io.PrintStream].println(java.lang.String)"
    functionUses: 46
    ICount: 21
    EdgeCount: 329
    BranchProfiles:
    - Branch String: "org.yaml.snakeyaml.nodes.Tag:114"
      Branch Sides:
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:117"
        BranchSideFuncs: []
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:116"
        BranchSideFuncs: []
    - Branch String: "org.yaml.snakeyaml.nodes.Tag:117"
      Branch Sides:
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:119"
        BranchSideFuncs:
        - "getValue()"
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:118"
        BranchSideFuncs: []
    - Branch String: "org.yaml.snakeyaml.nodes.Tag:119"
      Branch Sides:
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:126"
        BranchSideFuncs:
        - "toString()"
        - "equals(java.lang.Object)"
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:125"
        BranchSideFuncs: []
    - Branch String: "org.yaml.snakeyaml.nodes.Tag:120"
      Branch Sides:
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:125"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.yaml.snakeyaml.nodes.Tag:118,1"
      Dst: "[org.yaml.snakeyaml.nodes.Tag].getValue()"
    - Src: "org.yaml.snakeyaml.nodes.Tag:118,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "org.yaml.snakeyaml.nodes.Tag:120,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "org.yaml.snakeyaml.nodes.Tag:122,1"
      Dst: "[java.io.PrintStream].println(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[org.yaml.snakeyaml.nodes.Tag].hashCode()"
    functionSourceFile: "org.yaml.snakeyaml.nodes.Tag"
    linkageType: ""
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].hashCode()"
    functionUses: 41
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.yaml.snakeyaml.nodes.Tag:131,1"
      Dst: "[java.lang.String].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.yaml.snakeyaml.nodes.Tag].isCompatible(java.lang.Class)"
    functionSourceFile: "org.yaml.snakeyaml.nodes.Tag"
    linkageType: ""
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.HashBiMap$Inverse].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$ColumnMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$NavigableAsMapView].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row].get(java.lang.Object)"
    - "[java.util.jar.Attributes].get(java.lang.Object)"
    - "[com.google.common.cache.LocalCache].get(java.lang.Object)"
    - "[javax.swing.MultiUIDefaults].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$ComplementRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.HashBiMap].get(java.lang.Object)"
    - "[java.util.TreeMap].get(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets].get(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableBiMap].get(java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$ArrayMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$RowMap].get(java.lang.Object)"
    - "[java.util.AbstractMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$RangesByUpperBound].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullComputingConcurrentMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].get(java.lang.Object)"
    - "[java.util.EnumMap].get(java.lang.Object)"
    - "[java.util.WeakHashMap].get(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableBiMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Column].get(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedMultimap$1].get(java.lang.Object)"
    - "[java.util.Hashtable].get(java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullConcurrentMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AsMapView].get(java.lang.Object)"
    - "[java.security.Provider].get(java.lang.Object)"
    - "[java.awt.RenderingHints].get(java.lang.Object)"
    - "[com.google.common.collect.Multimaps$AsMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedMap].get(java.lang.Object)"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableSortedMap].get(java.lang.Object)"
    - "[com.google.common.collect.ImmutableEnumMap].get(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AbstractFilteredMap].get(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableBiMap].get(java.lang.Object)"
    - "[java.util.Properties].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$TransformedEntriesMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse].get(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMap].get(java.lang.Object)"
    - "[java.util.IdentityHashMap].get(java.lang.Object)"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap].get(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$ComputingMapAdapter].get(java.lang.Object)"
    - "[javax.swing.UIDefaults].get(java.lang.Object)"
    - "[com.google.common.cache.LocalCache$KeySet].contains(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMapEntrySet].contains(java.lang.Object)"
    - "[com.google.common.collect.Sets$PowerSet].contains(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedSet].contains(java.lang.Object)"
    - "[com.google.common.collect.Sets$SubSet].contains(java.lang.Object)"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].contains(java.lang.Object)"
    - "[java.util.AbstractCollection].contains(java.lang.Object)"
    - "[com.google.common.collect.Multisets$EntrySet].contains(java.lang.Object)"
    - "[com.google.common.collect.ImmutableEnumSet].contains(java.lang.Object)"
    - "[com.google.common.collect.Maps$KeySet].contains(java.lang.Object)"
    - "[com.google.common.collect.ImmutableEnumMap$1].contains(java.lang.Object)"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].contains(java.lang.Object)"
    - "[java.util.TreeSet].contains(java.lang.Object)"
    - "[com.google.common.collect.LinkedListMultimap$2].contains(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].contains(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableSortedSet].contains(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].contains(java.lang.Object)"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].contains(java.lang.Object)"
    - "[com.google.common.collect.ForwardingCollection].contains(java.lang.Object)"
    - "[com.google.common.cache.LocalCache$EntrySet].contains(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].contains(java.lang.Object)"
    - "[java.util.TreeMap$KeySet].contains(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].contains(java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].contains(java.lang.Object)"
    - "[java.util.HashSet].contains(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].contains(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].contains(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].contains(java.lang.Object)"
    - "[com.google.common.collect.Sets$3].contains(java.lang.Object)"
    - "[com.google.common.collect.Maps$EntrySet].contains(java.lang.Object)"
    - "[com.google.common.collect.Sets$2].contains(java.lang.Object)"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].contains(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Column$KeySet].contains(java.lang.Object)"
    - "[com.google.common.collect.Multimaps$Entries].contains(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMapKeySet].contains(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArraySet].contains(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableSet].contains(java.lang.Object)"
    - "[com.google.common.collect.RegularContiguousSet].contains(java.lang.Object)"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].contains(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].contains(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].contains(java.lang.Object)"
    - "[com.google.common.collect.ImmutableCollection].contains(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].contains(java.lang.Object)"
    - "[java.util.TreeMap$EntrySet].contains(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].contains(java.lang.Object)"
    - "[com.google.common.collect.AbstractTable$CellSet].contains(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].contains(java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].contains(java.lang.Object)"
    - "[com.google.common.collect.Collections2$FilteredCollection].contains(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableSet].contains(java.lang.Object)"
    - "[com.google.common.collect.ConcurrentHashMultiset$1].contains(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].contains(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].contains(java.lang.Object)"
    - "[com.google.common.collect.Sets$1].contains(java.lang.Object)"
    - "[com.google.common.collect.Multisets$ElementSet].contains(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSet].contains(java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Set].contains(java.lang.Object)"
    functionUses: 1
    ICount: 9
    EdgeCount: 110
    BranchProfiles:
    - Branch String: "org.yaml.snakeyaml.nodes.Tag:145"
      Branch Sides:
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:148"
        BranchSideFuncs:
        - "contains(java.lang.Object)"
      - BranchSide: "org.yaml.snakeyaml.nodes.Tag:147"
        BranchSideFuncs: []
    Callsites:
    - Src: "org.yaml.snakeyaml.nodes.Tag:144,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "org.yaml.snakeyaml.nodes.Tag:146,1"
      Dst: "[java.util.Set].contains(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[org.yaml.snakeyaml.nodes.Tag].matches(java.lang.Class)"
    functionSourceFile: "org.yaml.snakeyaml.nodes.Tag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Class].getName()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "org.yaml.snakeyaml.nodes.Tag:160,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "org.yaml.snakeyaml.nodes.Tag:160,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "org.yaml.snakeyaml.nodes.Tag:160,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "org.yaml.snakeyaml.nodes.Tag:160,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "org.yaml.snakeyaml.nodes.Tag:160,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.yaml.snakeyaml.nodes.Tag].compareTo(org.yaml.snakeyaml.nodes.Tag)"
    functionSourceFile: "org.yaml.snakeyaml.nodes.Tag"
    linkageType: ""
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionDepth: 1
    returnType: "int"
    argCount: 1
    argTypes:
    - "org.yaml.snakeyaml.nodes.Tag"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].compareTo(java.lang.String)"
    - "[org.yaml.snakeyaml.nodes.Tag].getValue()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "org.yaml.snakeyaml.nodes.Tag:164,1"
      Dst: "[org.yaml.snakeyaml.nodes.Tag].getValue()"
    - Src: "org.yaml.snakeyaml.nodes.Tag:164,1"
      Dst: "[java.lang.String].compareTo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[org.yaml.snakeyaml.nodes.Tag].compareTo(java.lang.Object)"
    functionSourceFile: "org.yaml.snakeyaml.nodes.Tag"
    linkageType: ""
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionDepth: 2
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.yaml.snakeyaml.nodes.Tag].compareTo(org.yaml.snakeyaml.nodes.Tag)"
    functionUses: 5
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "org.yaml.snakeyaml.nodes.Tag:29,1"
      Dst: "[org.yaml.snakeyaml.nodes.Tag].compareTo(org.yaml.snakeyaml.nodes.Tag)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ManualClock].<init>(long)"
    functionSourceFile: "com.netflix.servo.util.ManualClock"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ManualClock:32,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.util.ManualClock:33,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ManualClock].set(long)"
    functionSourceFile: "com.netflix.servo.util.ManualClock"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].set(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ManualClock:42,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].set(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ManualClock].now()"
    functionSourceFile: "com.netflix.servo.util.ManualClock"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    functionUses: 12
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ManualClock:49,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ManualClock].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.util.ManualClock"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[com.netflix.servo.util.ManualClock].now()"
    functionUses: 39
    ICount: 18
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.ManualClock:57"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ManualClock:60"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.ManualClock:59"
        BranchSideFuncs:
        - "getClass()"
    - Branch String: "com.netflix.servo.util.ManualClock:60"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ManualClock:61"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.ManualClock:60"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.ManualClock:60"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ManualClock:64"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.ManualClock:63"
        BranchSideFuncs:
        - "now()"
    - Branch String: "com.netflix.servo.util.ManualClock:65"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ManualClock:63"
        BranchSideFuncs:
        - "now()"
    Callsites:
    - Src: "com.netflix.servo.util.ManualClock:60,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.util.ManualClock:65,1"
      Dst: "[com.netflix.servo.util.ManualClock].now()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.util.ManualClock].hashCode()"
    functionSourceFile: "com.netflix.servo.util.ManualClock"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Long].hashCode()"
    - "[com.netflix.servo.util.ManualClock].now()"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 39
    ICount: 5
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ManualClock:73,1"
      Dst: "[com.netflix.servo.util.ManualClock].now()"
    - Src: "com.netflix.servo.util.ManualClock:73,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.util.ManualClock:73,1"
      Dst: "[java.lang.Long].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MetricTransformObserver].<init>(com.google.common.base.Function,com.netflix.servo.publish.MetricObserver)"
    functionSourceFile: "com.netflix.servo.publish.MetricTransformObserver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.google.common.base.Function"
    - "com.netflix.servo.publish.MetricObserver"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.MetricTransformObserver:37,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MetricTransformObserver].update(java.util.List<Metric>)"
    functionSourceFile: "com.netflix.servo.publish.MetricTransformObserver"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List<Metric>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collection].stream()"
    - "[com.netflix.servo.publish.MetricTransformObserver$apply__59].bootstrap$(com.google.common.base.Function)"
    - "[java.util.Objects].requireNonNull(java.lang.Object)"
    - "[java.util.stream.Collectors].toList()"
    - "[com.netflix.servo.publish.CounterToRateMetricTransform].update(java.util.List)"
    - "[com.netflix.servo.publish.MetricTransformObserver].update(java.util.List)"
    - "[com.netflix.servo.publish.NormalizationTransform].update(java.util.List)"
    - "[com.netflix.servo.publish.BaseMetricObserver].update(java.util.List)"
    - "[java.util.stream.Stream].map(java.util.function.Function)"
    - "[java.util.stream.Stream].collect(java.util.stream.Collector)"
    - "[com.netflix.servo.publish.MetricObserver].update(java.util.List)"
    functionUses: 5
    ICount: 13
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.MetricTransformObserver:44,1"
      Dst: "[java.util.Collection].stream()"
    - Src: "com.netflix.servo.publish.MetricTransformObserver:45,1"
      Dst: "[java.util.Objects].requireNonNull(java.lang.Object)"
    - Src: "com.netflix.servo.publish.MetricTransformObserver:45,1"
      Dst: "[com.netflix.servo.publish.MetricTransformObserver$apply__59].bootstrap$(com.google.common.base.Function)"
    - Src: "com.netflix.servo.publish.MetricTransformObserver:45,1"
      Dst: "[java.util.stream.Stream].map(java.util.function.Function)"
    - Src: "com.netflix.servo.publish.MetricTransformObserver:45,1"
      Dst: "[java.util.stream.Collectors].toList()"
    - Src: "com.netflix.servo.publish.MetricTransformObserver:45,1"
      Dst: "[java.util.stream.Stream].collect(java.util.stream.Collector)"
    - Src: "com.netflix.servo.publish.MetricTransformObserver:46,1"
      Dst: "[com.netflix.servo.publish.MetricObserver].update(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MetricTransformObserver$apply__59].bootstrap$(com.google.common.base.Function)"
    functionSourceFile: "com.netflix.servo.publish.MetricTransformObserver$apply__59"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.Function"
    argCount: 1
    argTypes:
    - "com.google.common.base.Function"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.MetricTransformObserver$apply__59].<init>(com.google.common.base.Function)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.MetricTransformObserver$apply__59:-1,1"
      Dst: "[com.netflix.servo.publish.MetricTransformObserver$apply__59].<init>(com.google.common.base.Function)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MetricTransformObserver$apply__59].<init>(com.google.common.base.Function)"
    functionSourceFile: "com.netflix.servo.publish.MetricTransformObserver$apply__59"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.google.common.base.Function"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.MetricTransformObserver$apply__59:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MetricTransformObserver].getName()"
    functionSourceFile: "com.netflix.servo.publish.MetricTransformObserver"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SortedTagList].getTag(java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList"
    linkageType: ""
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionDepth: 0
    returnType: "com.netflix.servo.tag.Tag"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Synchronized$SynchronizedMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableSortedMap].get(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AbstractFilteredMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$TransformedEntriesMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$NavigableAsMapView].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$ComplementRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AsMapView].get(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$RowMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$RangesByUpperBound].get(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedMap:java.util.TreeMap].get(java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 2
    ICount: 6
    EdgeCount: 15
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList:110,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SortedTagList].getValue(java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList"
    linkageType: ""
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Synchronized$SynchronizedMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableSortedMap].get(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AbstractFilteredMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$TransformedEntriesMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$NavigableAsMapView].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$ComplementRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AsMapView].get(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$RowMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$RangesByUpperBound].get(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedMap:com.netflix.servo.tag.BasicTag:com.netflix.servo.tag.InjectableTag:java.util.TreeMap].get(java.lang.Object)"
    - "[com.netflix.servo.annotations.DataSourceLevel].getValue()"
    - "[com.netflix.servo.annotations.DataSourceType].getValue()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[com.netflix.servo.tag.Tag].getValue()"
    functionUses: 4
    ICount: 10
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SortedTagList:118"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SortedTagList:116"
        BranchSideFuncs:
        - "getValue()"
        - "get(java.lang.Object)"
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList:117,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "com.netflix.servo.tag.SortedTagList:118,1"
      Dst: "[com.netflix.servo.tag.Tag].getValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.SortedTagList].containsKey(java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].containsKey(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList:126,1"
      Dst: "[java.util.Map].containsKey(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SortedTagList].isEmpty()"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].isEmpty()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList:134,1"
      Dst: "[java.util.Map].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SortedTagList].size()"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SortedTagList].iterator()"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList"
    linkageType: ""
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.collect.Maps$ImprovedAbstractMap].values()"
    - "[com.google.common.collect.RegularImmutableSortedMap].values()"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].values()"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].values()"
    - "[java.util.AbstractMap].values()"
    - "[com.google.common.collect.Maps$DescendingMap].values()"
    - "[com.google.common.collect.ForwardingMap].values()"
    - "[com.google.common.collect.EmptyImmutableSortedMap].values()"
    - "[java.util.TreeMap].values()"
    - "[java.util.SortedMap].values()"
    - "[java.util.Collection].iterator()"
    functionUses: 59
    ICount: 5
    EdgeCount: 150
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList:150,1"
      Dst: "[java.util.SortedMap].values()"
    - Src: "com.netflix.servo.tag.SortedTagList:150,1"
      Dst: "[java.util.Collection].iterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SortedTagList].asMap()"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList"
    linkageType: ""
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.LinkedHashMap].<init>(int)"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[com.google.common.collect.Maps$ImprovedAbstractMap].values()"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].values()"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].values()"
    - "[java.util.AbstractMap].values()"
    - "[com.google.common.collect.Maps$DescendingMap].values()"
    - "[com.google.common.collect.ForwardingMap].values()"
    - "[com.google.common.collect.EmptyImmutableSortedMap].values()"
    - "[java.util.TreeMap].values()"
    - "[com.google.common.collect.RegularImmutableSortedMap].values()"
    - "[com.netflix.servo.annotations.DataSourceType].getKey()"
    - "[com.netflix.servo.tag.BasicTag].getKey()"
    - "[com.netflix.servo.annotations.DataSourceLevel].getKey()"
    - "[com.netflix.servo.tag.InjectableTag].getKey()"
    - "[com.netflix.servo.annotations.DataSourceLevel].getValue()"
    - "[com.netflix.servo.tag.BasicTag].getValue()"
    - "[com.netflix.servo.annotations.DataSourceType].getValue()"
    - "[com.netflix.servo.tag.InjectableTag].getValue()"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.SortedMap].values()"
    - "[java.util.Collection].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.tag.Tag].getKey()"
    - "[com.netflix.servo.tag.Tag].getValue()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 16
    EdgeCount: 307
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SortedTagList:159"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SortedTagList:162"
        BranchSideFuncs:
        - "values()"
        - "put(java.lang.Object,java.lang.Object)"
        - "hasNext()"
        - "iterator()"
        - "getValue()"
        - "next()"
        - "getKey()"
      - BranchSide: "com.netflix.servo.tag.SortedTagList:161"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList:158,1"
      Dst: "[java.util.LinkedHashMap].<init>(int)"
    - Src: "com.netflix.servo.tag.SortedTagList:159,1"
      Dst: "[java.util.SortedMap].values()"
    - Src: "com.netflix.servo.tag.SortedTagList:159,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "com.netflix.servo.tag.SortedTagList:159,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.tag.SortedTagList:159,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.tag.SortedTagList:160,1"
      Dst: "[com.netflix.servo.tag.Tag].getKey()"
    - Src: "com.netflix.servo.tag.SortedTagList:160,1"
      Dst: "[com.netflix.servo.tag.Tag].getValue()"
    - Src: "com.netflix.servo.tag.SortedTagList:160,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.SortedTagList].builder()"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList"
    linkageType: ""
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionDepth: 1
    returnType: "com.netflix.servo.tag.SortedTagList$Builder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SortedTagList$Builder].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList:169,1"
      Dst: "[com.netflix.servo.tag.SortedTagList$Builder].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SortedTagList].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList"
    linkageType: ""
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].equals(java.lang.Object)"
    - "[java.util.AbstractMap].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 40
    ICount: 13
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SortedTagList:177"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SortedTagList:177"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.netflix.servo.tag.SortedTagList:176"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.tag.SortedTagList:178"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SortedTagList:176"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList:178,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.tag.SortedTagList].hashCode()"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList"
    linkageType: ""
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].hashCode()"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].hashCode()"
    - "[com.google.common.collect.ForwardingMap].hashCode()"
    - "[com.google.common.collect.ImmutableMap].hashCode()"
    - "[java.util.AbstractMap].hashCode()"
    - "[java.lang.Object].hashCode()"
    functionUses: 40
    ICount: 4
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList:186,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SortedTagList].toString()"
    functionSourceFile: "com.netflix.servo.tag.SortedTagList"
    linkageType: ""
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.netflix.servo.util.Strings].join(java.lang.String,java.util.Iterator)"
    - "[com.google.common.collect.Maps$ImprovedAbstractMap].values()"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].values()"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].values()"
    - "[java.util.AbstractMap].values()"
    - "[com.google.common.collect.Maps$DescendingMap].values()"
    - "[com.google.common.collect.ForwardingMap].values()"
    - "[com.google.common.collect.EmptyImmutableSortedMap].values()"
    - "[java.util.TreeMap].values()"
    - "[com.google.common.collect.RegularImmutableSortedMap].values()"
    - "[java.util.SortedMap].values()"
    - "[java.util.Collection].iterator()"
    functionUses: 42
    ICount: 6
    EdgeCount: 151
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SortedTagList:194,1"
      Dst: "[java.util.SortedMap].values()"
    - Src: "com.netflix.servo.tag.SortedTagList:194,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "com.netflix.servo.tag.SortedTagList:194,1"
      Dst: "[com.netflix.servo.util.Strings].join(java.lang.String,java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.AsyncMetricObserver].<init>(java.lang.String,com.netflix.servo.publish.MetricObserver,int,long)"
    functionSourceFile: "com.netflix.servo.publish.AsyncMetricObserver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.publish.MetricObserver"
    - "int"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.BaseMetricObserver].<init>(java.lang.String)"
    - "[com.netflix.servo.monitor.Monitors].newCounter(java.lang.String)"
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    - "[java.util.concurrent.LinkedBlockingDeque].<init>(int)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getSimpleName()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor].<init>(com.netflix.servo.publish.AsyncMetricObserver,com.netflix.servo.publish.AsyncMetricObserver$1)"
    - "[java.lang.Thread].<init>(java.lang.Runnable,java.lang.String)"
    - "[java.lang.Thread].setDaemon(boolean)"
    - "[java.lang.Thread].start()"
    functionUses: 0
    ICount: 43
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.AsyncMetricObserver:73"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.AsyncMetricObserver:74"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.AsyncMetricObserver:73"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:70,1"
      Dst: "[com.netflix.servo.publish.BaseMetricObserver].<init>(java.lang.String)"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:53,1"
      Dst: "[com.netflix.servo.monitor.Monitors].newCounter(java.lang.String)"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:72,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:74,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:74,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:73,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:76,1"
      Dst: "[java.util.concurrent.LinkedBlockingDeque].<init>(int)"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:78,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:78,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:78,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:78,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:78,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:79,1"
      Dst: "[com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor].<init>(com.netflix.servo.publish.AsyncMetricObserver,com.netflix.servo.publish.AsyncMetricObserver$1)"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:79,1"
      Dst: "[java.lang.Thread].<init>(java.lang.Runnable,java.lang.String)"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:80,1"
      Dst: "[java.lang.Thread].setDaemon(boolean)"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:81,1"
      Dst: "[java.lang.Thread].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.publish.AsyncMetricObserver].<init>(java.lang.String,com.netflix.servo.publish.MetricObserver)"
    functionSourceFile: "com.netflix.servo.publish.AsyncMetricObserver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.publish.MetricObserver"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.AsyncMetricObserver].<init>(java.lang.String,com.netflix.servo.publish.MetricObserver,int,long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:91,1"
      Dst: "[com.netflix.servo.publish.AsyncMetricObserver].<init>(java.lang.String,com.netflix.servo.publish.MetricObserver,int,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.AsyncMetricObserver].<init>(java.lang.String,com.netflix.servo.publish.MetricObserver,int)"
    functionSourceFile: "com.netflix.servo.publish.AsyncMetricObserver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.publish.MetricObserver"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.AsyncMetricObserver].<init>(java.lang.String,com.netflix.servo.publish.MetricObserver,int,long)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:103,1"
      Dst: "[com.netflix.servo.publish.AsyncMetricObserver].<init>(java.lang.String,com.netflix.servo.publish.MetricObserver,int,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.AsyncMetricObserver].updateImpl(java.util.List<Metric>)"
    functionSourceFile: "com.netflix.servo.publish.AsyncMetricObserver"
    linkageType: ""
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List<Metric>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].currentTimeMillis()"
    - "[com.netflix.servo.publish.AsyncMetricObserver$TimestampedUpdate].<init>(long,java.util.List)"
    - "[com.google.common.collect.ForwardingQueue].offer(java.lang.Object)"
    - "[java.util.concurrent.LinkedBlockingQueue].offer(java.lang.Object)"
    - "[com.google.common.collect.ForwardingQueue].remove()"
    - "[java.util.concurrent.ArrayBlockingQueue:java.util.concurrent.DelayQueue:java.util.concurrent.LinkedBlockingDeque:java.util.concurrent.LinkedBlockingQueue:java.util.concurrent.PriorityBlockingQueue:java.util.concurrent.SynchronousQueue].offer(java.lang.Object)"
    - "[com.netflix.servo.publish.BaseMetricObserver].incrementFailedCount()"
    - "[java.util.concurrent.BlockingQueue].offer(java.lang.Object)"
    - "[java.util.Queue].remove()"
    functionUses: 1
    ICount: 19
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.AsyncMetricObserver:116"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.AsyncMetricObserver:122"
        BranchSideFuncs:
        - "remove()"
        - "offer(java.lang.Object)"
      - BranchSide: "com.netflix.servo.publish.AsyncMetricObserver:121"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.AsyncMetricObserver:116"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.AsyncMetricObserver:122"
        BranchSideFuncs:
        - "remove()"
        - "offer(java.lang.Object)"
      - BranchSide: "com.netflix.servo.publish.AsyncMetricObserver:121"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.AsyncMetricObserver:122"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.AsyncMetricObserver:125"
        BranchSideFuncs:
        - "incrementFailedCount()"
      - BranchSide: "com.netflix.servo.publish.AsyncMetricObserver:124"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:110,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:111,1"
      Dst: "[com.netflix.servo.publish.AsyncMetricObserver$TimestampedUpdate].<init>(long,java.util.List)"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:113,1"
      Dst: "[java.util.concurrent.BlockingQueue].offer(java.lang.Object)"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:117,1"
      Dst: "[java.util.Queue].remove()"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:123,1"
      Dst: "[com.netflix.servo.publish.BaseMetricObserver].incrementFailedCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.publish.AsyncMetricObserver$TimestampedUpdate].<init>(long,java.util.List)"
    functionSourceFile: "com.netflix.servo.publish.AsyncMetricObserver$TimestampedUpdate"
    linkageType: ""
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.AsyncMetricObserver$TimestampedUpdate:168,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.AsyncMetricObserver].stop()"
    functionSourceFile: "com.netflix.servo.publish.AsyncMetricObserver"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Thread].interrupt()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:132,1"
      Dst: "[java.lang.Thread].interrupt()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.AsyncMetricObserver].processUpdate()"
    functionSourceFile: "com.netflix.servo.publish.AsyncMetricObserver"
    linkageType: ""
    functionLinenumber: 137
    functionLinenumberEnd: 155
    functionDepth: 1
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.LinkedBlockingDeque].take()"
    - "[java.util.concurrent.LinkedBlockingQueue].take()"
    - "[java.util.concurrent.ArrayBlockingQueue].take()"
    - "[java.util.concurrent.PriorityBlockingQueue].take()"
    - "[com.google.common.util.concurrent.ForwardingBlockingQueue].take()"
    - "[com.google.common.collect.ForwardingBlockingDeque].take()"
    - "[java.util.concurrent.SynchronousQueue].take()"
    - "[java.util.concurrent.DelayQueue].take()"
    - "[java.lang.System].currentTimeMillis()"
    - "[com.netflix.servo.publish.AsyncMetricObserver$TimestampedUpdate].getTimestamp()"
    - "[com.netflix.servo.monitor.BasicCounter].increment()"
    - "[com.netflix.servo.monitor.ContextualCounter].increment()"
    - "[com.netflix.servo.monitor.StepCounter].increment()"
    - "[com.netflix.servo.monitor.PeakRateCounter].increment()"
    - "[com.netflix.servo.publish.AsyncMetricObserver$TimestampedUpdate].getMetrics()"
    - "[com.netflix.servo.publish.CounterToRateMetricTransform].update(java.util.List)"
    - "[com.netflix.servo.publish.MetricTransformObserver].update(java.util.List)"
    - "[com.netflix.servo.publish.NormalizationTransform].update(java.util.List)"
    - "[com.netflix.servo.publish.BaseMetricObserver].update(java.util.List)"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String)"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String)"
    - "[org.slf4j.helpers.NOPLogger].warn(java.lang.String)"
    - "[com.netflix.servo.publish.BaseMetricObserver].incrementFailedCount()"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.helpers.NOPLogger].warn(java.lang.String,java.lang.Throwable)"
    - "[java.util.concurrent.BlockingQueue].take()"
    - "[com.netflix.servo.monitor.Counter].increment()"
    - "[com.netflix.servo.publish.MetricObserver].update(java.util.List)"
    - "[org.slf4j.Logger].warn(java.lang.String)"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Throwable)"
    functionUses: 1
    ICount: 28
    EdgeCount: 27
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.AsyncMetricObserver:141"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.AsyncMetricObserver:146"
        BranchSideFuncs:
        - "increment()"
      - BranchSide: "com.netflix.servo.publish.AsyncMetricObserver:145"
        BranchSideFuncs:
        - "warn(java.lang.String,java.lang.Throwable)"
        - "update(java.util.List)"
        - "getMetrics()"
        - "warn(java.lang.String)"
        - "incrementFailedCount()"
    Callsites:
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:138,1"
      Dst: "[java.util.concurrent.BlockingQueue].take()"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:140,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:141,1"
      Dst: "[com.netflix.servo.publish.AsyncMetricObserver$TimestampedUpdate].getTimestamp()"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:142,1"
      Dst: "[com.netflix.servo.monitor.Counter].increment()"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:146,1"
      Dst: "[com.netflix.servo.publish.AsyncMetricObserver$TimestampedUpdate].getMetrics()"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:146,1"
      Dst: "[com.netflix.servo.publish.MetricObserver].update(java.util.List)"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:148,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String)"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:149,1"
      Dst: "[com.netflix.servo.publish.BaseMetricObserver].incrementFailedCount()"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:151,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.AsyncMetricObserver$TimestampedUpdate].getTimestamp()"
    functionSourceFile: "com.netflix.servo.publish.AsyncMetricObserver$TimestampedUpdate"
    linkageType: ""
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.AsyncMetricObserver$TimestampedUpdate].getMetrics()"
    functionSourceFile: "com.netflix.servo.publish.AsyncMetricObserver$TimestampedUpdate"
    linkageType: ""
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.AsyncMetricObserver].access$100(com.netflix.servo.publish.AsyncMetricObserver)"
    functionSourceFile: "com.netflix.servo.publish.AsyncMetricObserver"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.publish.AsyncMetricObserver"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.AsyncMetricObserver].access$200(com.netflix.servo.publish.AsyncMetricObserver)"
    functionSourceFile: "com.netflix.servo.publish.AsyncMetricObserver"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.publish.AsyncMetricObserver"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.AsyncMetricObserver].processUpdate()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.AsyncMetricObserver:37,1"
      Dst: "[com.netflix.servo.publish.AsyncMetricObserver].processUpdate()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicCounter$init__6].bootstrap$()"
    functionSourceFile: "com.netflix.servo.monitor.DynamicCounter$init__6"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.Function"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DynamicCounter$init__6].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicCounter$init__6:-1,1"
      Dst: "[com.netflix.servo.monitor.DynamicCounter$init__6].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicCounter$init__6].<init>()"
    functionSourceFile: "com.netflix.servo.monitor.DynamicCounter$init__6"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicCounter$init__6:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicCounter$init__6].apply(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicCounter$init__6"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 9
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 9
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicCounter$init__6:-1,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StepCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.StepCounter"
    linkageType: ""
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionDepth: 8
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepCounter].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StepCounter:40,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StepCounter].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.monitor.StepCounter"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.StepLong].<init>(long,com.netflix.servo.util.Clock)"
    - "[com.netflix.servo.SpectatorContext].counter(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 2
    ICount: 13
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StepCounter:51,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.StepCounter:51,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.StepCounter:53,1"
      Dst: "[com.netflix.servo.monitor.StepLong].<init>(long,com.netflix.servo.util.Clock)"
    - Src: "com.netflix.servo.monitor.StepCounter:54,1"
      Dst: "[com.netflix.servo.SpectatorContext].counter(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StepLong].<init>(long,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.monitor.StepLong"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    functionUses: 3
    ICount: 33
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StepLong:43"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StepLong:45"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.StepLong:47"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StepLong:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StepLong:39,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.monitor.StepLong:44,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.SpectatorContext].counter(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionDepth: 2
    returnType: "com.netflix.servo.SpectatorContext$LazyCounter"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyCounter].<init>(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    - "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 3
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:125,1"
      Dst: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.SpectatorContext:125,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyCounter].<init>(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyCounter].<init>(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyCounter"
    linkageType: ""
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.spectator.api.Registry"
    - "com.netflix.spectator.api.Id"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyCounter:267,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.DefaultObjectNameMapper].<init>()"
    functionSourceFile: "com.netflix.servo.jmx.DefaultObjectNameMapper"
    linkageType: ""
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.DefaultObjectNameMapper:27,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.DefaultObjectNameMapper].createObjectName(java.lang.String,com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.jmx.DefaultObjectNameMapper"
    linkageType: ""
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionDepth: 4
    returnType: "javax.management.ObjectName"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.jmx.ObjectNameBuilder].forDomain(java.lang.String)"
    - "[com.netflix.servo.jmx.ObjectNameBuilder].addProperty(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getConfig()"
    - "[com.netflix.servo.monitor.DynamicGauge].getConfig()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - "[com.netflix.servo.jmx.ObjectNameBuilder].addProperties(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.AbstractMonitor:com.netflix.servo.monitor.MonitorConfig:com.netflix.servo.monitor.TimedInterface$TimedHandler].getTags()"
    - "[com.netflix.servo.jmx.ObjectNameBuilder].build()"
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    functionUses: 1
    ICount: 12
    EdgeCount: 11
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.DefaultObjectNameMapper:31,1"
      Dst: "[com.netflix.servo.jmx.ObjectNameBuilder].forDomain(java.lang.String)"
    - Src: "com.netflix.servo.jmx.DefaultObjectNameMapper:32,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.jmx.DefaultObjectNameMapper:32,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - Src: "com.netflix.servo.jmx.DefaultObjectNameMapper:32,1"
      Dst: "[com.netflix.servo.jmx.ObjectNameBuilder].addProperty(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.jmx.DefaultObjectNameMapper:33,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - Src: "com.netflix.servo.jmx.DefaultObjectNameMapper:33,1"
      Dst: "[com.netflix.servo.jmx.ObjectNameBuilder].addProperties(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.jmx.DefaultObjectNameMapper:34,1"
      Dst: "[com.netflix.servo.jmx.ObjectNameBuilder].build()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.AnnotatedStringMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,java.lang.Object,java.lang.reflect.AccessibleObject)"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedStringMonitor"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "java.lang.Object"
    - "java.lang.reflect.AccessibleObject"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 2
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedStringMonitor:33,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.AnnotatedStringMonitor].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedStringMonitor"
    linkageType: ""
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.reflect.Element].setAccessible(boolean)"
    - "[java.lang.reflect.Field].setAccessible(boolean)"
    - "[java.lang.reflect.AccessibleObject:java.lang.reflect.Constructor:java.lang.reflect.Field:java.lang.reflect.Method].get(java.lang.Object)"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    - "[com.google.common.collect.ImmutableMultimap].toString()"
    - "[bsh.BSHMethodDeclaration].toString()"
    - "[com.netflix.servo.monitor.MonitorWrapper].toString()"
    - "[com.google.common.hash.Funnels$SequentialFunnel].toString()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].toString()"
    - "[com.google.common.collect.ReverseOrdering].toString()"
    - "[com.netflix.spectator.impl.matcher.ZeroOrMoreMatcher].toString()"
    - "[com.netflix.servo.stats.StatsConfig].toString()"
    - "[com.google.common.base.Enums$ValueOfFunction].toString()"
    - "[com.google.common.base.Converter$ConverterComposition].toString()"
    - "[com.netflix.servo.tag.BasicTag].toString()"
    - "[com.google.common.io.ByteSink$AsCharSink].toString()"
    - "[org.testng.remote.strprotocol.TestResultMessage].toString()"
    - "[com.netflix.spectator.impl.matcher.NegativeLookaheadMatcher].toString()"
    - "[com.google.common.collect.MapMaker].toString()"
    - "[com.google.common.io.CharSource$ConcatenatedCharSource].toString()"
    - "[com.google.common.base.Functions$FunctionComposition].toString()"
    - "[com.google.common.base.Predicates$CompositionPredicate].toString()"
    - "[jdk.internal.math.FDBigInteger].toString()"
    - "[com.netflix.spectator.impl.StepDouble].toString()"
    - "[java.lang.Short].toString()"
    - "[com.google.common.collect.ArrayListMultimap].toString()"
    - "[com.google.common.util.concurrent.AbstractIdleService].toString()"
    - "[com.google.common.collect.ByFunctionOrdering].toString()"
    - "[com.google.common.collect.HashMultimap].toString()"
    - "[com.google.common.collect.ComparatorOrdering].toString()"
    - "[com.google.common.base.Functions$SupplierFunction].toString()"
    - "[bsh.SimpleNode].toString()"
    - "[org.testng.TestListenerAdapter].toString()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].toString()"
    - "[org.testng.xml.XmlSuite].toString()"
    - "[com.google.common.base.Objects$ToStringHelper].toString()"
    - "[org.yaml.snakeyaml.nodes.SequenceNode].toString()"
    - "[com.google.common.base.Predicates$IsEqualToPredicate].toString()"
    - "[com.google.common.base.Suppliers$ExpiringMemoizingSupplier].toString()"
    - "[com.google.common.base.Predicates$AssignableFromPredicate].toString()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].toString()"
    - "[bsh.BSHVariableDeclarator].toString()"
    - "[com.netflix.servo.monitor.StepCounter].toString()"
    - "[com.google.common.eventbus.EventSubscriber].toString()"
    - "[junit.framework.TestFailure].toString()"
    - "[com.google.common.collect.TreeMultimap].toString()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].toString()"
    - "[com.netflix.servo.monitor.NumberGauge].toString()"
    - "[java.io.File].toString()"
    - "[junit.framework.TestCase].toString()"
    - "[org.yaml.snakeyaml.error.Mark].toString()"
    - "[com.google.common.collect.LexicographicalOrdering].toString()"
    - "[com.netflix.servo.monitor.MinGauge].toString()"
    - "[com.google.common.base.Suppliers$ThreadSafeSupplier].toString()"
    - "[com.netflix.spectator.impl.matcher.RepeatMatcher].toString()"
    - "[com.google.common.hash.HashCode].toString()"
    - "[bsh.NameSpace].toString()"
    - "[com.google.common.reflect.Element].toString()"
    - "[bsh.LHS].toString()"
    - "[org.testng.internal.ClassImpl].toString()"
    - "[com.google.common.collect.LinkedListMultimap].toString()"
    - "[com.google.common.hash.Murmur3_32HashFunction].toString()"
    - "[com.google.common.util.concurrent.AbstractScheduledService].toString()"
    - "[com.netflix.spectator.impl.matcher.OrMatcher].toString()"
    - "[com.google.common.base.Predicates$NotPredicate].toString()"
    - "[com.google.common.reflect.TypeToken$2].toString()"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$MostFrequentLimiter].toString()"
    - "[bsh.CallStack].toString()"
    - "[com.google.common.util.concurrent.RateLimiter].toString()"
    - "[com.google.common.base.CaseFormat$StringConverter].toString()"
    - "[bsh.XThis].toString()"
    - "[com.google.common.base.Suppliers$MemoizingSupplier].toString()"
    - "[com.netflix.spectator.impl.matcher.ZeroOrOneMatcher].toString()"
    - "[com.google.common.io.BaseEncoding$SeparatedBaseEncoding].toString()"
    - "[com.google.common.io.ByteStreams$4].toString()"
    - "[bsh.Primitive].toString()"
    - "[org.yaml.snakeyaml.nodes.MappingNode].toString()"
    - "[com.google.common.io.CharStreams$4].toString()"
    - "[com.google.common.base.Suppliers$SupplierOfInstance].toString()"
    - "[com.netflix.servo.monitor.DynamicGauge].toString()"
    - "[bsh.This].toString()"
    - "[com.google.common.collect.Multisets$AbstractEntry].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor].toString()"
    - "[com.google.common.hash.Funnels$StringCharsetFunnel].toString()"
    - "[com.google.common.base.Predicates$AndPredicate].toString()"
    - "[jdk.internal.org.objectweb.asm.Type].toString()"
    - "[org.yaml.snakeyaml.nodes.ScalarNode].toString()"
    - "[org.testng.internal.BaseTestMethod].toString()"
    - "[bsh.EvalError].toString()"
    - "[jdk.internal.misc.Signal$NativeHandler].toString()"
    - "[com.netflix.servo.monitor.StepLong].toString()"
    - "[com.google.common.collect.HashBasedTable].toString()"
    - "[org.yaml.snakeyaml.scanner.SimpleKey].toString()"
    - "[java.lang.Character].toString()"
    - "[com.netflix.spectator.impl.matcher.CharSeqMatcher].toString()"
    - "[com.google.common.primitives.UnsignedInteger].toString()"
    - "[java.lang.Long].toString()"
    - "[com.google.common.collect.LinkedHashMultiset].toString()"
    - "[com.google.common.net.HostAndPort].toString()"
    - "[com.google.common.collect.ImmutableTable].toString()"
    - "[com.google.common.cache.CacheBuilder].toString()"
    - "[com.google.common.collect.AbstractMapEntry].toString()"
    - "[org.testng.internal.ClonedMethod].toString()"
    - "[com.google.common.collect.TreeMultiset].toString()"
    - "[jdk.internal.org.objectweb.asm.Label].toString()"
    - "[com.google.common.collect.ImmutableRangeMap].toString()"
    - "[com.google.common.io.Resources$UrlByteSource].toString()"
    - "[com.google.common.collect.ForwardingObject].toString()"
    - "[bsh.BSHClassDeclaration].toString()"
    - "[com.netflix.spectator.api.DefaultId].toString()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].toString()"
    - "[com.google.common.collect.Tables$AbstractCell].toString()"
    - "[com.netflix.spectator.impl.matcher.IndexOfMatcher].toString()"
    - "[com.google.common.collect.Cut$BelowValue].toString()"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].toString()"
    - "[org.testng.internal.MapList].toString()"
    - "[com.google.common.io.CharStreams$3].toString()"
    - "[com.google.common.base.Present].toString()"
    - "[com.google.common.cache.LongAdder].toString()"
    - "[java.lang.Class].toString()"
    - "[com.google.common.base.Predicates$InPredicate].toString()"
    - "[com.netflix.spectator.api.Measurement].toString()"
    - "[com.google.common.cache.CacheStats].toString()"
    - "[com.netflix.servo.monitor.DynamicTimer].toString()"
    - "[com.google.common.collect.NullsFirstOrdering].toString()"
    - "[com.netflix.servo.monitor.MaxGauge].toString()"
    - "[com.google.common.collect.Sets$DescendingSet].toString()"
    - "[com.google.common.io.ByteSource$ByteArrayByteSource].toString()"
    - "[com.netflix.spectator.api.BasicTag].toString()"
    - "[org.slf4j.helpers.MarkerIgnoringBase].toString()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].toString()"
    - "[com.google.common.collect.Maps$ValueDifferenceImpl].toString()"
    - "[com.netflix.spectator.api.NoopId].toString()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].toString()"
    - "[com.google.common.collect.Maps$MapDifferenceImpl].toString()"
    - "[junit.framework.TestSuite].toString()"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].toString()"
    - "[com.google.common.collect.TreeMultiset$AvlNode].toString()"
    - "[bsh.classpath.DiscreteFilesClassLoader].toString()"
    - "[com.google.common.reflect.Types$ParameterizedTypeImpl].toString()"
    - "[com.google.common.collect.FluentIterable].toString()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].toString()"
    - "[org.testng.internal.DynamicGraph].toString()"
    - "[com.google.common.collect.Maps$BiMapConverter].toString()"
    - "[jdk.internal.module.ModuleResolution].toString()"
    - "[com.google.common.reflect.Parameter].toString()"
    - "[bsh.ParseException].toString()"
    - "[com.google.common.collect.Maps$DescendingMap].toString()"
    - "[com.google.common.base.FunctionalEquivalence].toString()"
    - "[com.google.common.hash.Funnels$SinkAsStream].toString()"
    - "[com.google.common.base.Stopwatch].toString()"
    - "[com.google.common.base.StandardSystemProperty].toString()"
    - "[org.yaml.snakeyaml.events.ImplicitTuple].toString()"
    - "[org.testng.internal.TestResult].toString()"
    - "[com.google.common.util.concurrent.AtomicDouble].toString()"
    - "[com.google.common.collect.TreeRangeMap].toString()"
    - "[com.google.common.collect.ImmutableMultiset].toString()"
    - "[bsh.servlet.SimpleTemplate].toString()"
    - "[com.google.common.base.Functions$ConstantFunction].toString()"
    - "[bsh.classpath.BshClassPath$JarClassSource].toString()"
    - "[bsh.ClassIdentifier].toString()"
    - "[com.google.common.base.Functions$PredicateFunction].toString()"
    - "[org.testng.internal.junit.ArrayComparisonFailure].toString()"
    - "[com.google.common.collect.SingletonImmutableSet].toString()"
    - "[com.google.common.reflect.Types$WildcardTypeImpl].toString()"
    - "[com.google.common.collect.Cut$AboveValue].toString()"
    - "[com.google.common.base.Predicates$OrPredicate].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].toString()"
    - "[com.netflix.servo.monitor.BucketConfig].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$LineBreak].toString()"
    - "[com.google.common.collect.ContiguousSet].toString()"
    - "[java.lang.Double].toString()"
    - "[com.google.common.base.Equivalence$EquivalentToPredicate].toString()"
    - "[com.google.common.reflect.TypeToken$1].toString()"
    - "[com.google.common.io.BaseEncoding$StandardBaseEncoding].toString()"
    - "[com.google.common.io.ByteSource$AsCharSource].toString()"
    - "[com.google.common.collect.ArrayTable].toString()"
    - "[com.google.common.base.Predicates$ContainsPatternPredicate].toString()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].toString()"
    - "[com.google.common.collect.DescendingMultiset].toString()"
    - "[org.testng.SuiteResult].toString()"
    - "[com.google.common.hash.SipHashFunction].toString()"
    - "[com.google.common.base.Splitter$5].toString()"
    - "[com.netflix.spectator.impl.StepLong].toString()"
    - "[jdk.internal.jimage.ImageReader$Node].toString()"
    - "[com.google.common.hash.Murmur3_128HashFunction].toString()"
    - "[com.netflix.servo.monitor.PeakRateCounter].toString()"
    - "[com.google.common.collect.AbstractMultimap].toString()"
    - "[com.google.common.base.Functions$FunctionForMapNoDefault].toString()"
    - "[junit.extensions.RepeatedTest].toString()"
    - "[com.google.common.collect.SingletonImmutableList].toString()"
    - "[org.testng.internal.TestMethodWorker].toString()"
    - "[com.google.common.collect.AbstractMultiset].toString()"
    - "[org.yaml.snakeyaml.nodes.NodeTuple].toString()"
    - "[org.slf4j.helpers.BasicMarker].toString()"
    - "[bsh.classpath.BshClassPath].toString()"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].toString()"
    - "[com.google.common.reflect.AbstractInvocationHandler].toString()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].toString()"
    - "[com.netflix.servo.monitor.DoubleCounter].toString()"
    - "[com.netflix.spectator.impl.matcher.CharClassMatcher].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor$LongGaugeWrapper].toString()"
    - "[java.lang.StringBuffer].toString()"
    - "[com.google.common.collect.AbstractTable].toString()"
    - "[com.google.common.io.ByteSource$ConcatenatedByteSource].toString()"
    - "[org.testng.internal.Graph].toString()"
    - "[com.netflix.spectator.api.ExtendedRegistry].toString()"
    - "[org.yaml.snakeyaml.introspector.Property].toString()"
    - "[com.google.common.base.Converter$ReverseConverter].toString()"
    - "[com.google.common.collect.LinkedHashMultimap].toString()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap].toString()"
    - "[jdk.internal.org.objectweb.asm.TypePath].toString()"
    - "[com.google.common.net.MediaType].toString()"
    - "[com.netflix.servo.monitor.StatsTimer].toString()"
    - "[org.testng.remote.strprotocol.SuiteMessage].toString()"
    - "[com.netflix.servo.monitor.AnnotatedStringMonitor].toString()"
    - "[org.testng.internal.Graph$Node].toString()"
    - "[jdk.internal.misc.Signal].toString()"
    - "[com.netflix.spectator.impl.matcher.SeqMatcher].toString()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].toString()"
    - "[com.netflix.servo.util.ExpiringCache].toString()"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$RollupLimiter].toString()"
    - "[com.netflix.servo.monitor.DurationTimer].toString()"
    - "[com.google.common.io.GwtWorkarounds$6].toString()"
    - "[org.testng.internal.ResultMap].toString()"
    - "[com.google.common.io.Files$FileByteSource].toString()"
    - "[com.google.common.primitives.UnsignedLong].toString()"
    - "[java.lang.Throwable].toString()"
    - "[com.netflix.servo.monitor.BasicGauge].toString()"
    - "[com.google.common.collect.AbstractRangeSet].toString()"
    - "[jdk.internal.org.objectweb.asm.Handle].toString()"
    - "[com.google.common.base.PairwiseEquivalence].toString()"
    - "[org.testng.TestClass].toString()"
    - "[com.google.common.collect.ImmutableMap].toString()"
    - "[com.google.common.reflect.TypeToken].toString()"
    - "[bsh.classpath.BshClassPath$DirClassSource].toString()"
    - "[com.google.common.collect.GeneralRange].toString()"
    - "[com.google.common.collect.Collections2$PermutationCollection].toString()"
    - "[com.google.common.reflect.TypeParameter].toString()"
    - "[java.lang.Object].toString()"
    - "[java.lang.Float].toString()"
    - "[com.google.common.cache.CacheBuilderSpec].toString()"
    - "[com.google.common.util.concurrent.AbstractService].toString()"
    - "[org.yaml.snakeyaml.tokens.Token].toString()"
    - "[com.beust.jcommander.ParameterDescription].toString()"
    - "[java.lang.Integer].toString()"
    - "[org.testng.internal.MethodInstance].toString()"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].toString()"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$FirstLimiter].toString()"
    - "[org.yaml.snakeyaml.error.MarkedYAMLException].toString()"
    - "[jdk.internal.perf.PerfCounter].toString()"
    - "[com.google.common.io.ByteStreams$3].toString()"
    - "[com.netflix.servo.monitor.BucketTimer].toString()"
    - "[com.google.common.collect.Synchronized$SynchronizedObject].toString()"
    - "[com.google.common.io.ByteSource$SlicedByteSource].toString()"
    - "[com.netflix.spectator.impl.matcher.StartsWithMatcher].toString()"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].toString()"
    - "[org.testng.internal.InvokedMethod].toString()"
    - "[com.netflix.servo.monitor.DoubleGauge].toString()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].toString()"
    - "[com.netflix.servo.tag.SmallTagMap].toString()"
    - "[com.netflix.spectator.impl.matcher.IgnoreCaseMatcher].toString()"
    - "[com.google.common.collect.Range].toString()"
    - "[com.google.common.base.Suppliers$SupplierComposition].toString()"
    - "[com.google.common.reflect.Invokable].toString()"
    - "[com.google.common.collect.CompoundOrdering].toString()"
    - "[com.google.common.io.Files$FileByteSink].toString()"
    - "[com.netflix.spectator.impl.matcher.PositiveLookaheadMatcher].toString()"
    - "[bsh.BshMethod].toString()"
    - "[com.netflix.servo.tag.BasicTagList].toString()"
    - "[org.testng.ReporterConfig].toString()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].toString()"
    - "[com.google.common.collect.ConcurrentHashMultiset].toString()"
    - "[com.google.common.collect.TreeBasedTable].toString()"
    - "[com.netflix.servo.monitor.BasicInformational].toString()"
    - "[com.google.common.base.Enums$StringConverter].toString()"
    - "[com.google.common.util.concurrent.AtomicDoubleArray].toString()"
    - "[com.google.common.util.concurrent.AbstractExecutionThreadService].toString()"
    - "[com.google.common.reflect.Types$GenericArrayTypeImpl].toString()"
    - "[org.testng.xml.XmlClass].toString()"
    - "[com.netflix.servo.Metric].toString()"
    - "[com.netflix.servo.tag.SortedTagList].toString()"
    - "[com.google.common.base.Functions$ForMapWithDefault].toString()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].toString()"
    - "[java.lang.Thread].toString()"
    - "[jdk.internal.module.ModuleHashes].toString()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource].toString()"
    - "[org.yaml.snakeyaml.events.Event].toString()"
    - "[bsh.BSHAmbiguousName].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$Version].toString()"
    - "[com.google.common.collect.Iterables$1].toString()"
    - "[com.google.common.collect.Sets$PowerSet].toString()"
    - "[org.testng.xml.XmlTest].toString()"
    - "[org.yaml.snakeyaml.resolver.ResolverTuple].toString()"
    - "[com.netflix.servo.monitor.LongGauge].toString()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].toString()"
    - "[com.google.common.collect.HashMultiset].toString()"
    - "[org.testng.remote.strprotocol.TestMessage].toString()"
    - "[com.google.common.cache.RemovalNotification].toString()"
    - "[org.yaml.snakeyaml.TypeDescription].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper].toString()"
    - "[com.netflix.servo.monitor.BasicTimer].toString()"
    - "[com.netflix.spectator.api.ArrayTagSet].toString()"
    - "[org.testng.remote.strprotocol.GenericMessage].toString()"
    - "[com.netflix.servo.monitor.MonitorConfig].toString()"
    - "[com.google.common.base.Predicates$InstanceOfPredicate].toString()"
    - "[org.testng.SuiteRunnerWorker].toString()"
    - "[jdk.internal.jmod.JmodFile$Entry].toString()"
    - "[com.google.common.base.Equivalence$Wrapper].toString()"
    - "[com.netflix.spectator.api.histogram.BucketFunctions$Bucket].toString()"
    - "[java.lang.Byte].toString()"
    - "[com.netflix.servo.monitor.DynamicCounter].toString()"
    - "[junit.extensions.TestDecorator].toString()"
    - "[com.netflix.servo.util.ExpiringCache$Entry].toString()"
    - "[bsh.TargetError].toString()"
    - "[org.yaml.snakeyaml.reader.ReaderException].toString()"
    - "[com.google.common.collect.Count].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$FlowStyle].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$ScalarStyle].toString()"
    - "[com.google.common.collect.EnumMultiset].toString()"
    - "[jdk.internal.module.ModuleReferenceImpl].toString()"
    - "[bsh.Variable].toString()"
    - "[com.google.common.util.concurrent.AtomicLongMap].toString()"
    - "[com.google.common.util.concurrent.ServiceManager].toString()"
    - "[bsh.Modifiers].toString()"
    - "[com.google.common.collect.NullsLastOrdering].toString()"
    - "[com.google.common.collect.ExplicitOrdering].toString()"
    - "[com.netflix.servo.monitor.BasicCounter].toString()"
    - "[bsh.Name:bsh.Token:bsh.util.AWTConsole:bsh.util.JConsole:com.google.common.base.Absent:com.google.common.base.CharMatcher:com.google.common.base.CharMatcher$1:com.google.common.base.Converter$IdentityConverter:com.google.common.base.Functions$IdentityFunction:com.google.common.base.Functions$ToStringFunction:com.google.common.base.Suppliers$SupplierFunctionImpl:com.google.common.collect.AllEqualOrdering:com.google.common.collect.Cut$AboveAll:com.google.common.collect.Cut$BelowAll:com.google.common.collect.DiscreteDomain$BigIntegerDomain:com.google.common.collect.DiscreteDomain$IntegerDomain:com.google.common.collect.DiscreteDomain$LongDomain:com.google.common.collect.EmptyContiguousSet:com.google.common.collect.EmptyImmutableSet:com.google.common.collect.EmptyImmutableSortedMap:com.google.common.collect.EmptyImmutableSortedSet:com.google.common.collect.ImmutableEnumSet:com.google.common.collect.MapConstraints$NotNullMapConstraint:com.google.common.collect.NaturalOrdering:com.google.common.collect.Ordering$ArbitraryOrdering:com.google.common.collect.ReverseNaturalOrdering:com.google.common.collect.UsingToStringOrdering:com.google.common.hash.ChecksumHashFunction:com.google.common.hash.Funnels$ByteArrayFunnel:com.google.common.hash.Funnels$IntegerFunnel:com.google.common.hash.Funnels$LongFunnel:com.google.common.hash.Funnels$UnencodedCharsFunnel:com.google.common.hash.MessageDigestHashFunction:com.google.common.io.BaseEncoding$Alphabet:com.google.common.io.ByteSource$EmptyByteSource:com.google.common.io.ByteStreams$1:com.google.common.io.CharSource$EmptyCharSource:com.google.common.io.CharStreams$NullWriter:com.google.common.io.Files$2:com.google.common.io.Files$FilePredicate$1:com.google.common.io.Files$FilePredicate$2:com.google.common.net.HostSpecifier:com.google.common.net.InternetDomainName:com.google.common.primitives.Doubles$DoubleConverter:com.google.common.primitives.Floats$FloatConverter:com.google.common.primitives.Ints$IntConverter:com.google.common.primitives.Longs$LongConverter:com.google.common.primitives.Shorts$ShortConverter:com.google.common.reflect.ClassPath$ClassInfo:com.google.common.reflect.ClassPath$ResourceInfo:com.google.common.reflect.Types$TypeVariableImpl:com.netflix.servo.monitor.DefaultPublishingPolicy:com.netflix.spectator.impl.AsciiSet:com.netflix.spectator.impl.matcher.AnyMatcher:com.netflix.spectator.impl.matcher.EndMatcher:com.netflix.spectator.impl.matcher.FalseMatcher:com.netflix.spectator.impl.matcher.StartMatcher:com.netflix.spectator.impl.matcher.TrueMatcher:java.awt.AWTEvent:java.awt.AWTKeyStroke:java.awt.AttributeValue:java.awt.BorderLayout:java.awt.BufferCapabilities$FlipContents:java.awt.CheckboxGroup:java.awt.Color:java.awt.Component:java.awt.Cursor:java.awt.Dimension:java.awt.DisplayMode:java.awt.Event:java.awt.Font:java.awt.FontMetrics:java.awt.Graphics:java.awt.GridBagLayout:java.awt.GridLayout:java.awt.Insets:java.awt.JobAttributes:java.awt.JobAttributes$DefaultSelectionType:java.awt.JobAttributes$DestinationType:java.awt.JobAttributes$DialogType:java.awt.JobAttributes$MultipleDocumentHandlingType:java.awt.JobAttributes$SidesType:java.awt.MenuComponent:java.awt.MenuShortcut:java.awt.PageAttributes:java.awt.PageAttributes$ColorType:java.awt.PageAttributes$MediaType:java.awt.PageAttributes$OrientationRequestedType:java.awt.PageAttributes$OriginType:java.awt.PageAttributes$PrintQualityType:java.awt.Point:java.awt.Rectangle:java.awt.RenderingHints:java.awt.ScrollPaneAdjustable:java.awt.SystemColor:java.awt.datatransfer.DataFlavor:java.awt.datatransfer.MimeType:java.awt.datatransfer.MimeTypeParameterList:java.awt.font.NumericShaper:java.awt.font.TextHitInfo:java.awt.geom.AffineTransform:java.awt.geom.Point2D$Double:java.awt.geom.Point2D$Float:java.awt.geom.Rectangle2D$Double:java.awt.geom.Rectangle2D$Float:java.awt.image.BufferedImage:java.awt.image.ColorModel:java.awt.image.IndexColorModel:java.beans.FeatureDescriptor:java.beans.PropertyChangeEvent:java.io.ByteArrayOutputStream:java.io.ObjectOutputStream$DebugTraceInfoStack:java.io.ObjectStreamClass:java.io.ObjectStreamField:java.io.StringWriter:java.lang.Boolean:java.lang.Character$Subset:java.lang.Enum:java.lang.Module:java.lang.ModuleLayer:java.lang.Package:java.lang.ProcessBuilder$Redirect$1:java.lang.ProcessBuilder$Redirect$2:java.lang.ProcessBuilder$Redirect$3:java.lang.ProcessBuilder$Redirect$4:java.lang.ProcessBuilder$Redirect$5:java.lang.ProcessBuilder$Redirect$6:java.lang.ProcessBuilder$RedirectPipeImpl:java.lang.ProcessHandleImpl:java.lang.ProcessImpl:java.lang.Runtime$Version:java.lang.StackFrameInfo:java.lang.StackTraceElement:java.lang.String:java.lang.StringBuilder:java.lang.ThreadGroup:java.lang.invoke.ClassSpecializer$SpeciesData:java.lang.invoke.Invokers:java.lang.invoke.LambdaForm:java.lang.invoke.LambdaForm$Name:java.lang.invoke.LambdaForm$NamedFunction:java.lang.invoke.LambdaFormEditor$Transform:java.lang.invoke.MemberName:java.lang.invoke.MethodHandle:java.lang.invoke.MethodHandleImpl$LoopClauses:java.lang.invoke.MethodHandles$Lookup:java.lang.invoke.MethodType:java.lang.invoke.MethodTypeForm:java.lang.invoke.SerializedLambda:java.lang.management.LockInfo:java.lang.management.MemoryType:java.lang.management.MemoryUsage:java.lang.management.ThreadInfo:java.lang.module.Configuration:java.lang.module.ModuleDescriptor:java.lang.module.ModuleDescriptor$Exports:java.lang.module.ModuleDescriptor$Opens:java.lang.module.ModuleDescriptor$Provides:java.lang.module.ModuleDescriptor$Requires:java.lang.module.ModuleDescriptor$Version:java.lang.module.ResolvedModule:java.lang.reflect.Constructor:java.lang.reflect.Field:java.lang.reflect.Method:java.lang.reflect.Parameter:java.math.BigDecimal:java.math.BigInteger:java.math.MathContext:java.math.MutableBigInteger:java.net.HttpCookie:java.net.InetAddress:java.net.InterfaceAddress:java.net.NetworkInterface:java.net.Proxy:java.net.ServerSocket:java.net.Socket:java.net.SocketImpl:java.net.URI:java.net.URL:java.net.URLConnection:java.nio.ByteBuffer:java.nio.ByteOrder:java.nio.CharBuffer:java.nio.DoubleBuffer:java.nio.FloatBuffer:java.nio.IntBuffer:java.nio.LongBuffer:java.nio.ShortBuffer:java.nio.channels.FileChannel$MapMode:java.nio.channels.FileLock:java.nio.charset.Charset:java.nio.charset.CoderResult:java.nio.charset.CodingErrorAction:java.nio.file.attribute.FileTime:java.security.AlgorithmParameters:java.security.CodeSigner:java.security.CodeSource:java.security.MessageDigest:java.security.Permission:java.security.PermissionCollection:java.security.PrivilegedActionException:java.security.ProtectionDomain:java.security.Provider:java.security.Provider$Service:java.security.SecureRandom:java.security.SecureRandomSpi:java.security.Signature:java.security.Timestamp:java.security.cert.CertPath:java.text.Annotation:java.text.AttributedCharacterIterator$Attribute:java.text.CalendarBuilder:java.text.DigitList:java.text.FieldPosition:java.text.ParsePosition:java.time.Duration:java.time.Instant:java.time.LocalDate:java.time.LocalDateTime:java.time.LocalTime:java.time.OffsetDateTime:java.time.OffsetTime:java.time.Period:java.time.ZoneId:java.time.ZoneOffset:java.time.ZonedDateTime:java.time.chrono.AbstractChronology:java.time.format.DateTimeFormatter:java.time.format.DateTimeFormatterBuilder$CompositePrinterParser:java.time.format.DateTimeFormatterBuilder$NumberPrinterParser:java.time.format.DateTimeParseContext:java.time.format.DateTimePrintContext:java.time.format.DecimalStyle:java.time.format.Parsed:java.time.temporal.ChronoField:java.time.temporal.ChronoUnit:java.time.temporal.ValueRange:java.time.zone.ZoneOffsetTransition:java.time.zone.ZoneOffsetTransitionRule:java.time.zone.ZoneRules:java.util.AbstractCollection:java.util.AbstractMap:java.util.BitSet:java.util.Calendar:java.util.Currency:java.util.Date:java.util.DoubleSummaryStatistics:java.util.EventObject:java.util.Formatter:java.util.HashMap$Node:java.util.Hashtable:java.util.Hashtable$Entry:java.util.IntSummaryStatistics:java.util.Locale:java.util.LongSummaryStatistics:java.util.Optional:java.util.OptionalDouble:java.util.OptionalInt:java.util.OptionalLong:java.util.Properties:java.util.ResourceBundle$CacheKey:java.util.ServiceLoader:java.util.StringJoiner:java.util.TreeMap$Entry:java.util.UUID:java.util.Vector:java.util.WeakHashMap$Entry:java.util.concurrent.ArrayBlockingQueue:java.util.concurrent.CompletableFuture:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentHashMap$CollectionView:java.util.concurrent.ConcurrentHashMap$Node:java.util.concurrent.ConcurrentLinkedQueue:java.util.concurrent.CopyOnWriteArrayList:java.util.concurrent.CountDownLatch:java.util.concurrent.ForkJoinPool:java.util.concurrent.FutureTask:java.util.concurrent.LinkedBlockingDeque:java.util.concurrent.LinkedBlockingQueue:java.util.concurrent.PriorityBlockingQueue:java.util.concurrent.Semaphore:java.util.concurrent.SynchronousQueue:java.util.concurrent.ThreadPoolExecutor:java.util.concurrent.atomic.AtomicBoolean:java.util.concurrent.atomic.AtomicInteger:java.util.concurrent.atomic.AtomicLong:java.util.concurrent.atomic.AtomicLongArray:java.util.concurrent.atomic.AtomicReference:java.util.concurrent.atomic.AtomicReferenceArray:java.util.concurrent.atomic.LongAdder:java.util.concurrent.locks.AbstractQueuedSynchronizer:java.util.concurrent.locks.ReentrantLock:java.util.concurrent.locks.ReentrantReadWriteLock:java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock:java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock:java.util.jar.Attributes$Name:java.util.logging.Level:java.util.regex.Matcher:java.util.regex.Pattern:java.util.zip.ZipEntry:javax.accessibility.AccessibleBundle:javax.accessibility.AccessibleRelationSet:javax.accessibility.AccessibleStateSet:javax.crypto.CryptoPermission:javax.management.Attribute:javax.management.BadAttributeValueExpException:javax.management.BadBinaryOpValueExpException:javax.management.BadStringOperationException:javax.management.MBeanAttributeInfo:javax.management.MBeanConstructorInfo:javax.management.MBeanInfo:javax.management.MBeanNotificationInfo:javax.management.MBeanOperationInfo:javax.management.MBeanParameterInfo:javax.management.Notification:javax.management.ObjectInstance:javax.management.ObjectName:javax.management.openmbean.CompositeType:javax.management.openmbean.TabularType:javax.print.DocFlavor:javax.print.MimeType:javax.print.event.PrintEvent:javax.security.auth.Subject:javax.swing.DefaultListModel:javax.swing.ImageIcon:javax.swing.JList$DropLocation:javax.swing.JTree$DropLocation:javax.swing.LookAndFeel:javax.swing.MultiUIDefaults:javax.swing.TimerQueue:javax.swing.TransferHandler$DropLocation:javax.swing.UIManager$LookAndFeelInfo:javax.swing.event.DocumentEvent$EventType:javax.swing.event.EventListenerList:javax.swing.event.HyperlinkEvent$EventType:javax.swing.event.ListDataEvent:javax.swing.event.ListSelectionEvent:javax.swing.event.TreeModelEvent:javax.swing.text.AbstractDocument$BranchElement:javax.swing.text.AbstractDocument$DefaultDocumentEvent:javax.swing.text.DefaultCaret:javax.swing.text.DefaultStyledDocument$ElementBuffer$ElemChanges:javax.swing.text.DefaultStyledDocument$ElementSpec:javax.swing.text.JTextComponent$DropLocation:javax.swing.text.JTextComponent$MutableCaretEvent:javax.swing.text.Position$Bias:javax.swing.text.Segment:javax.swing.text.SimpleAttributeSet:javax.swing.text.StyleConstants:javax.swing.text.StyleContext:javax.swing.text.StyleContext$SmallAttributeSet:javax.swing.text.TabSet:javax.swing.text.TabStop:javax.swing.tree.DefaultMutableTreeNode:javax.swing.tree.TreePath:javax.swing.undo.AbstractUndoableEdit:javax.swing.undo.CompoundEdit:org.slf4j.event.Level:org.testng.internal.AnnotationTypeEnum:org.testng.junit.JUnitUtils$JUnitTestMethod:org.xml.sax.SAXException:org.xml.sax.SAXParseException:org.yaml.snakeyaml.Yaml:org.yaml.snakeyaml.nodes.Tag:sun.awt.AppContext:sun.font.AttributeValues:sun.font.EAttribute:sun.font.FontFamily:sun.font.FontStrikeDesc:sun.font.StrikeMetrics:sun.java2d.loops.CompositeType:sun.java2d.loops.FontInfo:sun.java2d.loops.GraphicsPrimitive:sun.java2d.loops.SurfaceType:sun.java2d.pipe.Region:sun.net.www.MessageHeader:sun.nio.fs.UnixFileStore:sun.nio.fs.UnixPath:sun.reflect.annotation.AnnotationType:sun.reflect.annotation.TypeAnnotation:sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo:sun.security.util.JarConstraintsParameters:sun.security.util.LazyCodeSourcePermissionCollection:sun.util.calendar.CalendarDate:sun.util.calendar.Era:sun.util.calendar.JulianCalendar$Date:sun.util.locale.BaseLocale:sun.util.locale.Extension:sun.util.locale.LocaleExtensions].toString()"
    - "[java.lang.reflect.AccessibleObject].setAccessible(boolean)"
    - "[java.lang.reflect.Field].get(java.lang.Object)"
    functionUses: 1
    ICount: 26
    EdgeCount: 330
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.AnnotatedStringMonitor:46"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.AnnotatedStringMonitor:49"
        BranchSideFuncs:
        - "get(java.lang.Object)"
      - BranchSide: "com.netflix.servo.monitor.AnnotatedStringMonitor:48"
        BranchSideFuncs:
        - "invoke(java.lang.Object,java.lang.Object[])"
    - Branch String: "com.netflix.servo.monitor.AnnotatedStringMonitor:54"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.AnnotatedStringMonitor:53"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedStringMonitor:45,1"
      Dst: "[java.lang.reflect.AccessibleObject].setAccessible(boolean)"
    - Src: "com.netflix.servo.monitor.AnnotatedStringMonitor:47,1"
      Dst: "[java.lang.reflect.Field].get(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.AnnotatedStringMonitor:49,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "com.netflix.servo.monitor.AnnotatedStringMonitor:52,1"
      Dst: "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    - Src: "com.netflix.servo.monitor.AnnotatedStringMonitor:54,1"
      Dst: "[java.lang.Object].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.AnnotatedStringMonitor].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedStringMonitor"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.reflect.Invokable].equals(java.lang.Object)"
    - "[com.google.common.reflect.Element].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[java.lang.reflect.Constructor].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 40
    ICount: 19
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.AnnotatedStringMonitor:62"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.AnnotatedStringMonitor:63"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.AnnotatedStringMonitor:62"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.AnnotatedStringMonitor:62"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.AnnotatedStringMonitor:65"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.AnnotatedStringMonitor:64"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.AnnotatedStringMonitor:66"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.AnnotatedStringMonitor:64"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.AnnotatedStringMonitor:66"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.AnnotatedStringMonitor:64"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "getConfig()"
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedStringMonitor:66,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.AnnotatedStringMonitor:66,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.AnnotatedStringMonitor:66,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.AnnotatedStringMonitor].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedStringMonitor"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.google.common.reflect.Element].hashCode()"
    - "[com.google.common.reflect.Invokable].hashCode()"
    - "[java.lang.Object:java.lang.reflect.Constructor:java.lang.reflect.Field:java.lang.reflect.Method].hashCode()"
    - "[java.lang.Object].hashCode()"
    functionUses: 40
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedStringMonitor:74,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.AnnotatedStringMonitor:75,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.AnnotatedStringMonitor].toString()"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedStringMonitor"
    linkageType: ""
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 39
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedStringMonitor:81,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.AnnotatedStringMonitor:81,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.AnnotatedStringMonitor:81,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.AnnotatedStringMonitor:81,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.AnnotatedStringMonitor:81,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicInformational].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.BasicInformational"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.util.concurrent.atomic.AtomicReference].<init>()"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicInformational:32,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.BasicInformational:32,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.BasicInformational:26,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicInformational].setValue(java.lang.String)"
    functionSourceFile: "com.netflix.servo.monitor.BasicInformational"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicReference].set(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicInformational:39,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicInformational].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.BasicInformational"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicInformational:47,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicInformational].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.BasicInformational"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 40
    ICount: 28
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BasicInformational:55"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicInformational:58"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicInformational:57"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicInformational:58"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicInformational:59"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicInformational:58"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicInformational:58"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicInformational:61"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicInformational:60"
        BranchSideFuncs:
        - "get()"
    - Branch String: "com.netflix.servo.monitor.BasicInformational:65"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicInformational:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.netflix.servo.monitor.BasicInformational:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicInformational:65"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicInformational:66"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.netflix.servo.monitor.BasicInformational:65"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.servo.monitor.BasicInformational:65"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicInformational:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.netflix.servo.monitor.BasicInformational:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicInformational:66"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicInformational:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicInformational:63,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "com.netflix.servo.monitor.BasicInformational:65,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BasicInformational:66,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 6
  - functionName: "[com.netflix.servo.monitor.BasicInformational].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.BasicInformational"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[java.lang.String].hashCode()"
    functionUses: 40
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BasicInformational:75"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicInformational:74"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicInformational:73"
        BranchSideFuncs:
        - "get()"
        - "hashCode()"
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicInformational:74,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.BasicInformational:75,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "com.netflix.servo.monitor.BasicInformational:75,1"
      Dst: "[java.lang.String].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.BasicInformational].toString()"
    functionSourceFile: "com.netflix.servo.monitor.BasicInformational"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 39
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicInformational:85,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.BasicInformational:85,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.BasicInformational:85,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BasicInformational:85,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.BasicInformational:85,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.Preconditions].<init>()"
    functionSourceFile: "com.netflix.servo.util.Preconditions"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.Preconditions:24,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    functionSourceFile: "com.netflix.servo.util.Preconditions"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "boolean"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String,java.lang.String)"
    functionUses: 4
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.Preconditions:46,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String,java.lang.String[])"
    functionSourceFile: "com.netflix.servo.util.Preconditions"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "boolean"
    - "java.lang.String"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.Preconditions:81"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Preconditions:89"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.Preconditions:88"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.Preconditions:82"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Preconditions:86"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.Preconditions:85"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.Preconditions:82"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Preconditions:86"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.Preconditions:85"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.Preconditions:83,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.netflix.servo.util.Preconditions:84,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.util.TimeLimiter$UncheckedTimeoutException].<init>(java.lang.Exception)"
    functionSourceFile: "com.netflix.servo.util.TimeLimiter$UncheckedTimeoutException"
    linkageType: ""
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Exception"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.RuntimeException].<init>(java.lang.Throwable)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.TimeLimiter$UncheckedTimeoutException:82,1"
      Dst: "[java.lang.RuntimeException].<init>(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_0__19].bootstrap$()"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_0__19"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.ToLongFunction"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_0__19].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_0__19:-1,1"
      Dst: "[com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_0__19].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_0__19].<init>()"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_0__19"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_0__19:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_0__19].applyAsLong(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_0__19"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "long"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].lambda$new$0(com.netflix.servo.monitor.AnnotatedNumberMonitor)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_0__19:-1,1"
      Dst: "[com.netflix.servo.monitor.AnnotatedNumberMonitor].lambda$new$0(com.netflix.servo.monitor.AnnotatedNumberMonitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.AnnotatedNumberMonitor].lambda$new$0(com.netflix.servo.monitor.AnnotatedNumberMonitor)"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedNumberMonitor"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionDepth: 3
    returnType: "long"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.AnnotatedNumberMonitor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].getValue(int)"
    - "[com.netflix.spectator.impl.AtomicDouble].longValue()"
    - "[com.google.common.cache.LongAdder].longValue()"
    - "[com.google.common.primitives.UnsignedInteger].longValue()"
    - "[com.google.common.util.concurrent.AtomicDouble].longValue()"
    - "[com.google.common.primitives.UnsignedLong:java.lang.Byte:java.lang.Double:java.lang.Float:java.lang.Integer:java.lang.Long:java.lang.Short:java.math.BigDecimal:java.math.BigInteger:java.util.concurrent.atomic.AtomicInteger:java.util.concurrent.atomic.AtomicLong:java.util.concurrent.atomic.LongAdder].longValue()"
    - "[java.lang.Number].longValue()"
    functionUses: 1
    ICount: 4
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:41,1"
      Dst: "[com.netflix.servo.monitor.AnnotatedNumberMonitor].getValue(int)"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:41,1"
      Dst: "[java.lang.Number].longValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$Entry].<init>(java.lang.Object,long,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$Entry"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "long"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$Entry:46,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$Entry].getValue()"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$Entry"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ManualClock].now()"
    - "[com.netflix.servo.util.ClockWithOffset].now()"
    - "[com.netflix.servo.util.Clock].now()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$Entry:53,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$Entry].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$Entry"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Absent:com.google.common.base.Predicates$AssignableFromPredicate:com.google.common.base.Predicates$InstanceOfPredicate:com.google.common.cache.CacheStats:com.google.common.collect.Count:com.google.common.collect.ImmutableEnumSet:com.google.common.hash.Murmur3_128HashFunction:com.google.common.hash.Murmur3_32HashFunction:com.google.common.hash.SipHashFunction:com.google.common.primitives.UnsignedInteger:com.google.common.primitives.UnsignedLong:java.awt.AWTKeyStroke:java.awt.AlphaComposite:java.awt.BasicStroke:java.awt.Color:java.awt.Dimension:java.awt.DisplayMode:java.awt.Font:java.awt.Insets:java.awt.JobAttributes:java.awt.MenuShortcut:java.awt.PageAttributes:java.awt.Point:java.awt.Rectangle:java.awt.RenderingHints:java.awt.RenderingHints$Key:java.awt.datatransfer.DataFlavor:java.awt.datatransfer.MimeType:java.awt.datatransfer.MimeTypeParameterList:java.awt.font.FontRenderContext:java.awt.font.NumericShaper:java.awt.font.TextHitInfo:java.awt.font.TransformAttribute:java.awt.geom.AffineTransform:java.awt.geom.Point2D:java.awt.geom.Rectangle2D:java.awt.image.ColorModel:java.awt.image.IndexColorModel:java.beans.IndexedPropertyDescriptor:java.beans.PropertyDescriptor:java.io.FilePermission:java.lang.Character$Subset:java.lang.Enum:java.lang.Object:java.lang.ProcessBuilder$Redirect:java.lang.ProcessHandleImpl:java.lang.Runtime$Version:java.lang.StackTraceElement:java.lang.Thread$WeakClassKey:java.lang.invoke.ClassSpecializer$SpeciesData:java.lang.invoke.LambdaForm:java.lang.invoke.LambdaForm$Name:java.lang.invoke.LambdaForm$NamedFunction:java.lang.invoke.LambdaFormEditor$Transform:java.lang.invoke.MemberName:java.lang.invoke.MethodType:java.lang.invoke.StringConcatFactory$Key:java.lang.invoke.StringConcatFactory$Recipe:java.lang.invoke.StringConcatFactory$RecipeElement:java.lang.module.ModuleDescriptor:java.lang.module.ModuleDescriptor$Exports:java.lang.module.ModuleDescriptor$Opens:java.lang.module.ModuleDescriptor$Provides:java.lang.module.ModuleDescriptor$Requires:java.lang.module.ModuleDescriptor$Version:java.lang.module.ResolvedModule:java.lang.reflect.Constructor:java.lang.reflect.Field:java.lang.reflect.Method:java.lang.reflect.Parameter:java.math.BigDecimal:java.math.BigInteger:java.math.MathContext:java.net.HttpCookie:java.net.Inet4Address:java.net.Inet6Address:java.net.Inet6Address$Inet6AddressHolder:java.net.InetAddress:java.net.InterfaceAddress:java.net.NetworkInterface:java.net.Proxy:java.net.SocketPermission:java.net.URI:java.net.URL:java.nio.ByteBuffer:java.nio.CharBuffer:java.nio.DoubleBuffer:java.nio.FloatBuffer:java.nio.IntBuffer:java.nio.LongBuffer:java.nio.ShortBuffer:java.nio.charset.Charset:java.nio.file.attribute.FileTime:java.security.AccessControlContext:java.security.AllPermission:java.security.BasicPermission:java.security.CodeSigner:java.security.CodeSource:java.security.Provider$ServiceKey:java.security.Timestamp:java.security.cert.CertPath:java.security.cert.Certificate:java.text.AttributedCharacterIterator$Attribute:java.text.Collator:java.text.DateFormat:java.text.DateFormatSymbols:java.text.DecimalFormat:java.text.DecimalFormatSymbols:java.text.DigitList:java.text.FieldPosition:java.text.MessageFormat:java.text.NumberFormat:java.text.ParsePosition:java.text.SimpleDateFormat:java.text.StringCharacterIterator:java.time.Clock:java.time.Duration:java.time.Instant:java.time.LocalDate:java.time.LocalDateTime:java.time.LocalTime:java.time.OffsetDateTime:java.time.OffsetTime:java.time.Period:java.time.ZoneId:java.time.ZoneOffset:java.time.ZonedDateTime:java.time.chrono.AbstractChronology:java.time.format.DecimalStyle:java.time.temporal.ValueRange:java.time.zone.ZoneOffsetTransition:java.time.zone.ZoneOffsetTransitionRule:java.time.zone.ZoneRules:java.util.AbstractList:java.util.AbstractMap:java.util.AbstractSet:java.util.ArrayList:java.util.BitSet:java.util.Calendar:java.util.Date:java.util.EnumMap:java.util.GregorianCalendar:java.util.HashMap$Node:java.util.Hashtable:java.util.Hashtable$Entry:java.util.IdentityHashMap:java.util.Locale:java.util.Optional:java.util.OptionalDouble:java.util.OptionalInt:java.util.OptionalLong:java.util.Properties:java.util.PropertyPermission:java.util.ResourceBundle$CacheKey:java.util.TreeMap$Entry:java.util.UUID:java.util.Vector:java.util.WeakHashMap$Entry:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView:java.util.concurrent.ConcurrentHashMap$Node:java.util.concurrent.CopyOnWriteArrayList:java.util.concurrent.CopyOnWriteArraySet:java.util.jar.Attributes:java.util.jar.Attributes$Name:java.util.jar.Manifest:java.util.logging.Level:java.util.logging.LogManager$CloseOnReset:java.util.zip.ZipFile$Source$Key:javax.crypto.CryptoPermission:javax.management.Attribute:javax.management.MBeanAttributeInfo:javax.management.MBeanConstructorInfo:javax.management.MBeanFeatureInfo:javax.management.MBeanInfo:javax.management.MBeanNotificationInfo:javax.management.MBeanOperationInfo:javax.management.MBeanParameterInfo:javax.management.ObjectInstance:javax.management.ObjectName:javax.management.openmbean.CompositeType:javax.management.openmbean.TabularType:javax.print.DocFlavor:javax.print.MimeType:javax.security.auth.Subject:javax.swing.text.DefaultCaret:javax.swing.text.SimpleAttributeSet:javax.swing.text.StyleContext$FontKey:javax.swing.text.StyleContext$SmallAttributeSet:javax.swing.text.TabSet:javax.swing.text.TabStop:javax.swing.tree.TreePath:jdk.internal.org.objectweb.asm.Type:sun.font.AttributeValues:sun.font.CoreMetrics:sun.font.FontLineMetrics:sun.font.FontStrikeDesc:sun.java2d.loops.CompositeType:sun.java2d.loops.SurfaceType:sun.java2d.pipe.Region:sun.nio.ch.FileKey:sun.nio.fs.UnixFileStore:sun.nio.fs.UnixPath:sun.util.calendar.CalendarDate:sun.util.calendar.Era:sun.util.locale.BaseLocale:sun.util.locale.BaseLocale$Key:sun.util.locale.LocaleExtensions].getClass()"
    - "[com.google.common.net.HostAndPort].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingTable].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.PositiveLookaheadMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.Maps$MapDifferenceImpl].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.SortedTagList].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MinGauge].equals(java.lang.Object)"
    - "[java.lang.Byte].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.nodes.Node].equals(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedSet].equals(java.lang.Object)"
    - "[com.google.common.reflect.TypeParameter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.LongGauge].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableRangeSet].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeMultiset].equals(java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsTimer].equals(java.lang.Object)"
    - "[com.netflix.servo.stats.StatsConfig].equals(java.lang.Object)"
    - "[com.google.common.collect.ByFunctionOrdering].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$SupplierFunction].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$ForMapWithDefault].equals(java.lang.Object)"
    - "[com.google.common.base.Suppliers$SupplierOfInstance].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BucketTimer].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableList].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeBasedTable].equals(java.lang.Object)"
    - "[com.netflix.spectator.api.DefaultId].equals(java.lang.Object)"
    - "[com.google.common.collect.Cut].equals(java.lang.Object)"
    - "[com.google.common.collect.ExplicitOrdering].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicCounter].equals(java.lang.Object)"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableSet].equals(java.lang.Object)"
    - "[com.google.common.primitives.Longs$LongArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$ContainsPatternPredicate].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.IgnoreCaseMatcher].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.AsciiSet].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$ConstantFunction].equals(java.lang.Object)"
    - "[com.google.common.net.HostSpecifier].equals(java.lang.Object)"
    - "[org.slf4j.helpers.BasicMarker].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractTable].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DurationTimer].equals(java.lang.Object)"
    - "[java.lang.Double].equals(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].equals(java.lang.Object)"
    - "[com.google.common.collect.ReverseOrdering].equals(java.lang.Object)"
    - "[java.lang.Long].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$NotPredicate].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedSet].equals(java.lang.Object)"
    - "[java.lang.Short].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableTable].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapEntry].equals(java.lang.Object)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].equals(java.lang.Object)"
    - "[bsh.BshClassManager$SignatureKey].equals(java.lang.Object)"
    - "[com.google.common.reflect.ClassPath$ResourceInfo].equals(java.lang.Object)"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.reflect.TypeToken].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractListMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractRangeSet].equals(java.lang.Object)"
    - "[org.testng.internal.ConstructorOrMethod].equals(java.lang.Object)"
    - "[com.google.common.hash.Funnels$StringCharsetFunnel].equals(java.lang.Object)"
    - "[com.google.common.collect.Maps$UnmodifiableEntrySet].equals(java.lang.Object)"
    - "[com.netflix.spectator.api.BasicTag].equals(java.lang.Object)"
    - "[com.netflix.servo.Metric].equals(java.lang.Object)"
    - "[com.google.common.collect.Range].equals(java.lang.Object)"
    - "[org.testng.xml.XmlSuite].equals(java.lang.Object)"
    - "[org.testng.remote.strprotocol.TestResultMessage].equals(java.lang.Object)"
    - "[com.google.common.base.Converter$ConverterComposition].equals(java.lang.Object)"
    - "[com.google.common.cache.CacheBuilderSpec].equals(java.lang.Object)"
    - "[com.netflix.servo.util.ExpiringCache$Entry].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].equals(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableSortedSet].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMultimap].equals(java.lang.Object)"
    - "[com.google.common.eventbus.EventSubscriber].equals(java.lang.Object)"
    - "[com.google.common.reflect.Types$TypeVariableImpl].equals(java.lang.Object)"
    - "[com.google.common.reflect.Types$WildcardTypeImpl].equals(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntrySet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].equals(java.lang.Object)"
    - "[com.google.common.collect.CompoundOrdering].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BucketConfig].equals(java.lang.Object)"
    - "[com.google.common.reflect.Parameter].equals(java.lang.Object)"
    - "[com.google.common.collect.Interners$InternerFunction].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableRangeMap].equals(java.lang.Object)"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMultimap].equals(java.lang.Object)"
    - "[com.google.common.base.Enums$StringConverter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleGauge].equals(java.lang.Object)"
    - "[com.google.common.base.CaseFormat$StringConverter].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$AsRanges].equals(java.lang.Object)"
    - "[org.testng.internal.annotations.JDK15AnnotationFinder$Pair].equals(java.lang.Object)"
    - "[com.google.common.reflect.Element].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MaxGauge].equals(java.lang.Object)"
    - "[com.google.common.collect.GeneralRange].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.nodes.Tag].equals(java.lang.Object)"
    - "[com.google.common.collect.Sets$PowerSet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.NumberGauge].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedList].equals(java.lang.Object)"
    - "[com.google.common.hash.BloomFilter].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.StartsWithMatcher].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicGauge].equals(java.lang.Object)"
    - "[com.google.common.collect.HashBasedTable].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$OrPredicate].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicTimer].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.BasicTag].equals(java.lang.Object)"
    - "[com.google.common.collect.LinkedHashMultimap].equals(java.lang.Object)"
    - "[com.netflix.servo.util.ManualClock].equals(java.lang.Object)"
    - "[org.testng.xml.XmlClass].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$CompositionPredicate].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$PredicateFunction].equals(java.lang.Object)"
    - "[com.google.common.collect.HashMultiset].equals(java.lang.Object)"
    - "[com.google.common.base.PairwiseEquivalence].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingList].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.SeqMatcher].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.OrMatcher].equals(java.lang.Object)"
    - "[java.lang.Integer].equals(java.lang.Object)"
    - "[com.google.common.collect.NullsLastOrdering].equals(java.lang.Object)"
    - "[com.google.common.collect.EmptyContiguousSet].equals(java.lang.Object)"
    - "[com.google.common.reflect.AbstractInvocationHandler].equals(java.lang.Object)"
    - "[com.google.common.collect.LinkedHashMultiset].equals(java.lang.Object)"
    - "[com.google.common.base.Equivalence$EquivalentToPredicate].equals(java.lang.Object)"
    - "[com.google.common.eventbus.AnnotatedSubscriberFinder$MethodIdentifier].equals(java.lang.Object)"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$FunctionForMapNoDefault].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.tokens.Token].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMultiset].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleCounter].equals(java.lang.Object)"
    - "[org.testng.xml.XmlPackage].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMultiset].equals(java.lang.Object)"
    - "[com.google.common.base.Enums$ValueOfFunction].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.CharClassMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.Multisets$AbstractEntry].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].equals(java.lang.Object)"
    - "[com.google.common.reflect.Invokable].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.CharSeqMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$InPredicate].equals(java.lang.Object)"
    - "[com.google.common.net.InternetDomainName].equals(java.lang.Object)"
    - "[com.google.common.collect.LinkedListMultimap].equals(java.lang.Object)"
    - "[java.io.File].equals(java.lang.Object)"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].equals(java.lang.Object)"
    - "[com.netflix.spectator.api.Measurement].equals(java.lang.Object)"
    - "[com.google.common.hash.Funnels$SequentialFunnel].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsMonitor].equals(java.lang.Object)"
    - "[com.google.common.collect.ConcurrentHashMultiset].equals(java.lang.Object)"
    - "[bsh.Primitive].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.EnumMultiset].equals(java.lang.Object)"
    - "[org.testng.xml.XmlInclude].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].equals(java.lang.Object)"
    - "[com.google.common.collect.ArrayTable].equals(java.lang.Object)"
    - "[com.google.common.collect.Maps$ValueDifferenceImpl].equals(java.lang.Object)"
    - "[com.google.common.collect.ArrayListMultimap].equals(java.lang.Object)"
    - "[com.google.common.reflect.Types$GenericArrayTypeImpl].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.ZeroOrOneMatcher].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.IndexOfMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableSet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AnnotatedStringMonitor].equals(java.lang.Object)"
    - "[com.google.common.base.Present].equals(java.lang.Object)"
    - "[com.google.common.base.Converter].equals(java.lang.Object)"
    - "[com.google.common.hash.Hashing$ConcatenatedHashFunction].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.events.Event].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.BasicTagList].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$IsEqualToPredicate].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorWrapper].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMultiset].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractSetMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].equals(java.lang.Object)"
    - "[com.google.common.base.Converter$ReverseConverter].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleReferenceImpl].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.SmallTagMap].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMultimap$EntrySet].equals(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSet].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.NegativeLookaheadMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.Sets$CartesianSet].equals(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].equals(java.lang.Object)"
    - "[com.google.common.net.MediaType].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet].equals(java.lang.Object)"
    - "[com.google.common.collect.ComparatorOrdering].equals(java.lang.Object)"
    - "[java.lang.Float].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicInformational].equals(java.lang.Object)"
    - "[com.google.common.collect.NullsFirstOrdering].equals(java.lang.Object)"
    - "[com.google.common.collect.LexicographicalOrdering].equals(java.lang.Object)"
    - "[com.google.common.collect.Maps$BiMapConverter].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.ZeroOrMoreMatcher].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Handle].equals(java.lang.Object)"
    - "[com.google.common.reflect.Types$ParameterizedTypeImpl].equals(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableList].equals(java.lang.Object)"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].equals(java.lang.Object)"
    - "[com.google.common.collect.Tables$AbstractCell].equals(java.lang.Object)"
    - "[java.lang.Character].equals(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1$1].equals(java.lang.Object)"
    - "[java.lang.Boolean].equals(java.lang.Object)"
    - "[org.testng.xml.XmlMethodSelector].equals(java.lang.Object)"
    - "[com.google.common.collect.HashMultimap].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.RepeatMatcher].equals(java.lang.Object)"
    - "[org.testng.xml.XmlTest].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMultiset].equals(java.lang.Object)"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap$WriteThroughEntry].equals(java.lang.Object)"
    - "[com.google.common.base.FunctionalEquivalence].equals(java.lang.Object)"
    - "[com.google.common.hash.HashCode].equals(java.lang.Object)"
    - "[jdk.internal.misc.Signal].equals(java.lang.Object)"
    - "[com.google.common.base.Suppliers$SupplierComposition].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$FunctionComposition].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMapEntry].equals(java.lang.Object)"
    - "[com.google.common.primitives.Ints$IntArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].equals(java.lang.Object)"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.cache.RemovalNotification].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsMonitor$LongGaugeWrapper].equals(java.lang.Object)"
    - "[com.google.common.collect.Sets$FilteredSet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].equals(java.lang.Object)"
    - "[com.google.common.base.Equivalence$Wrapper].equals(java.lang.Object)"
    - "[com.google.common.primitives.Chars$CharArrayAsList].equals(java.lang.Object)"
    - "[com.netflix.spectator.api.ArrayTagSet].equals(java.lang.Object)"
    - "[org.testng.internal.BaseTestMethod].equals(java.lang.Object)"
    - "[com.google.common.collect.FilteredKeySetMultimap$EntrySet].equals(java.lang.Object)"
    - "[jdk.internal.jimage.ImageReader$Node].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$AndPredicate].equals(java.lang.Object)"
    - "[com.google.common.hash.BloomFilterStrategies$BitArray].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleHashes].equals(java.lang.Object)"
    - "[com.google.common.collect.RegularContiguousSet].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingSet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.PeakRateCounter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StepCounter].equals(java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 39
    ICount: 22
    EdgeCount: 234
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.ExpiringCache$Entry:59"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ExpiringCache$Entry:62"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.ExpiringCache$Entry:61"
        BranchSideFuncs:
        - "getClass()"
    - Branch String: "com.netflix.servo.util.ExpiringCache$Entry:62"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ExpiringCache$Entry:63"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.ExpiringCache$Entry:62"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.ExpiringCache$Entry:62"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ExpiringCache$Entry:66"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.ExpiringCache$Entry:65"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.servo.util.ExpiringCache$Entry:68"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ExpiringCache$Entry:65"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.servo.util.ExpiringCache$Entry:68"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ExpiringCache$Entry:65"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$Entry:62,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.util.ExpiringCache$Entry:68,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.util.ExpiringCache$Entry].hashCode()"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$Entry"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Functions$ConstantFunction].hashCode()"
    - "[com.google.common.collect.AbstractRangeSet].hashCode()"
    - "[com.netflix.spectator.impl.matcher.CharSeqMatcher].hashCode()"
    - "[com.google.common.collect.Range].hashCode()"
    - "[com.netflix.servo.stats.StatsConfig].hashCode()"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].hashCode()"
    - "[com.google.common.collect.ForwardingMultimap].hashCode()"
    - "[com.google.common.collect.ArrayListMultimap].hashCode()"
    - "[com.netflix.servo.monitor.BasicTimer].hashCode()"
    - "[com.netflix.servo.monitor.MonitorWrapper].hashCode()"
    - "[org.testng.xml.XmlTest].hashCode()"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].hashCode()"
    - "[jdk.internal.jimage.ImageReader$Node].hashCode()"
    - "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].hashCode()"
    - "[com.google.common.collect.ImmutableMap].hashCode()"
    - "[jdk.internal.module.ModuleHashes].hashCode()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].hashCode()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].hashCode()"
    - "[com.google.common.net.MediaType].hashCode()"
    - "[bsh.Primitive].hashCode()"
    - "[com.google.common.collect.TreeRangeMap].hashCode()"
    - "[com.google.common.collect.RegularImmutableMultiset].hashCode()"
    - "[com.google.common.hash.Murmur3_128HashFunction].hashCode()"
    - "[com.google.common.reflect.Types$WildcardTypeImpl].hashCode()"
    - "[com.google.common.reflect.AbstractInvocationHandler].hashCode()"
    - "[com.google.common.collect.NullsFirstOrdering].hashCode()"
    - "[com.google.common.collect.Tables$AbstractCell].hashCode()"
    - "[com.google.common.collect.HashMultiset].hashCode()"
    - "[com.google.common.collect.Sets$FilteredSet].hashCode()"
    - "[com.google.common.collect.AbstractMapEntry].hashCode()"
    - "[com.google.common.collect.ImmutableMultimap].hashCode()"
    - "[com.google.common.collect.Maps$MapDifferenceImpl].hashCode()"
    - "[com.google.common.collect.GeneralRange].hashCode()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap].hashCode()"
    - "[com.google.common.collect.Sets$PowerSet].hashCode()"
    - "[org.testng.xml.XmlSuite].hashCode()"
    - "[com.netflix.servo.util.ExpiringCache$Entry].hashCode()"
    - "[com.google.common.collect.ArrayTable].hashCode()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].hashCode()"
    - "[bsh.BshClassManager$SignatureKey].hashCode()"
    - "[org.testng.xml.XmlInclude].hashCode()"
    - "[org.slf4j.helpers.BasicMarker].hashCode()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntrySet].hashCode()"
    - "[com.google.common.collect.HashMultimap].hashCode()"
    - "[com.netflix.servo.monitor.StepCounter].hashCode()"
    - "[com.netflix.spectator.impl.matcher.NegativeLookaheadMatcher].hashCode()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].hashCode()"
    - "[com.google.common.primitives.UnsignedLong].hashCode()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].hashCode()"
    - "[com.netflix.servo.monitor.PeakRateCounter].hashCode()"
    - "[com.google.common.collect.LexicographicalOrdering].hashCode()"
    - "[com.google.common.collect.ByFunctionOrdering].hashCode()"
    - "[com.google.common.collect.Interners$InternerFunction].hashCode()"
    - "[com.netflix.spectator.impl.matcher.SeqMatcher].hashCode()"
    - "[com.google.common.collect.Multisets$AbstractEntry].hashCode()"
    - "[com.netflix.servo.monitor.BucketTimer].hashCode()"
    - "[com.netflix.servo.monitor.BucketConfig].hashCode()"
    - "[com.google.common.collect.ForwardingSet].hashCode()"
    - "[com.google.common.base.Predicates$InstanceOfPredicate].hashCode()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].hashCode()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].hashCode()"
    - "[com.google.common.collect.Cut$BelowValue].hashCode()"
    - "[org.yaml.snakeyaml.nodes.Node].hashCode()"
    - "[com.google.common.eventbus.AnnotatedSubscriberFinder$MethodIdentifier].hashCode()"
    - "[com.google.common.base.Enums$StringConverter].hashCode()"
    - "[java.lang.Double].hashCode()"
    - "[com.google.common.collect.EnumMultiset].hashCode()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].hashCode()"
    - "[com.google.common.collect.LinkedListMultimap].hashCode()"
    - "[com.netflix.servo.monitor.BasicInformational].hashCode()"
    - "[com.google.common.base.Predicates$InPredicate].hashCode()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].hashCode()"
    - "[com.netflix.spectator.impl.matcher.PositiveLookaheadMatcher].hashCode()"
    - "[com.google.common.base.Functions$SupplierFunction].hashCode()"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].hashCode()"
    - "[com.netflix.servo.monitor.StatsMonitor].hashCode()"
    - "[com.google.common.collect.TreeMultiset].hashCode()"
    - "[com.google.common.hash.HashCode].hashCode()"
    - "[com.google.common.hash.BloomFilterStrategies$BitArray].hashCode()"
    - "[com.netflix.servo.Metric].hashCode()"
    - "[java.io.File].hashCode()"
    - "[org.yaml.snakeyaml.nodes.Tag].hashCode()"
    - "[com.google.common.base.Predicates$OrPredicate].hashCode()"
    - "[com.google.common.collect.TreeBasedTable].hashCode()"
    - "[com.google.common.collect.CompoundOrdering].hashCode()"
    - "[com.google.common.reflect.Types$ParameterizedTypeImpl].hashCode()"
    - "[com.netflix.servo.tag.SmallTagMap].hashCode()"
    - "[com.netflix.servo.monitor.DoubleGauge].hashCode()"
    - "[com.google.common.collect.Synchronized$SynchronizedMultiset].hashCode()"
    - "[com.google.common.collect.Maps$ValueDifferenceImpl].hashCode()"
    - "[com.google.common.reflect.Invokable].hashCode()"
    - "[com.google.common.base.Functions$FunctionForMapNoDefault].hashCode()"
    - "[org.testng.xml.XmlPackage].hashCode()"
    - "[com.google.common.collect.ExplicitOrdering].hashCode()"
    - "[com.netflix.spectator.api.Measurement].hashCode()"
    - "[org.testng.xml.XmlMethodSelector].hashCode()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].hashCode()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].hashCode()"
    - "[com.google.common.collect.ForwardingMap].hashCode()"
    - "[com.netflix.spectator.impl.matcher.CharClassMatcher].hashCode()"
    - "[com.google.common.reflect.ClassPath$ResourceInfo].hashCode()"
    - "[com.netflix.servo.tag.BasicTagList].hashCode()"
    - "[com.netflix.servo.monitor.DurationTimer].hashCode()"
    - "[com.google.common.collect.AbstractMultimap$EntrySet].hashCode()"
    - "[com.google.common.base.FunctionalEquivalence].hashCode()"
    - "[com.google.common.collect.SingletonImmutableSet].hashCode()"
    - "[com.google.common.reflect.Element].hashCode()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].hashCode()"
    - "[com.google.common.collect.ReverseOrdering].hashCode()"
    - "[com.google.common.base.Converter$ReverseConverter].hashCode()"
    - "[org.testng.xml.XmlClass].hashCode()"
    - "[com.google.common.base.PairwiseEquivalence].hashCode()"
    - "[com.google.common.cache.CacheBuilderSpec].hashCode()"
    - "[java.lang.Character].hashCode()"
    - "[com.google.common.collect.ConcurrentHashMultiset].hashCode()"
    - "[com.google.common.base.Predicates$AssignableFromPredicate].hashCode()"
    - "[java.lang.Short].hashCode()"
    - "[com.google.common.collect.FilteredKeySetMultimap$EntrySet].hashCode()"
    - "[com.google.common.base.CaseFormat$StringConverter].hashCode()"
    - "[com.netflix.spectator.impl.matcher.RepeatMatcher].hashCode()"
    - "[com.google.common.collect.ComparatorOrdering].hashCode()"
    - "[org.testng.internal.annotations.JDK15AnnotationFinder$Pair].hashCode()"
    - "[com.netflix.spectator.impl.matcher.ZeroOrMoreMatcher].hashCode()"
    - "[com.google.common.collect.LinkedHashMultiset].hashCode()"
    - "[com.google.common.collect.AbstractMultimap].hashCode()"
    - "[com.google.common.collect.LinkedHashMultimap].hashCode()"
    - "[com.google.common.collect.SingletonImmutableList].hashCode()"
    - "[com.netflix.servo.monitor.NumberGauge].hashCode()"
    - "[com.google.common.eventbus.EventSubscriber].hashCode()"
    - "[com.google.common.collect.Multimaps$MapMultimap].hashCode()"
    - "[com.google.common.net.HostSpecifier].hashCode()"
    - "[jdk.internal.org.objectweb.asm.Handle].hashCode()"
    - "[com.google.common.collect.ForwardingTable].hashCode()"
    - "[com.google.common.collect.Synchronized$SynchronizedSet].hashCode()"
    - "[java.lang.Boolean].hashCode()"
    - "[com.google.common.base.Suppliers$SupplierComposition].hashCode()"
    - "[com.google.common.collect.Cut$AboveValue].hashCode()"
    - "[org.slf4j.helpers.SubstituteLogger].hashCode()"
    - "[com.google.common.base.Predicates$NotPredicate].hashCode()"
    - "[com.google.common.hash.BloomFilter].hashCode()"
    - "[com.google.common.collect.AbstractMultiset].hashCode()"
    - "[com.google.common.base.Enums$ValueOfFunction].hashCode()"
    - "[com.google.common.collect.Maps$UnmodifiableEntrySet].hashCode()"
    - "[com.google.common.hash.Funnels$SequentialFunnel].hashCode()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].hashCode()"
    - "[com.google.common.reflect.TypeParameter].hashCode()"
    - "[com.google.common.collect.Synchronized$SynchronizedList].hashCode()"
    - "[java.lang.Integer].hashCode()"
    - "[com.netflix.spectator.api.DefaultId].hashCode()"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].hashCode()"
    - "[com.netflix.spectator.api.ArrayTagSet].hashCode()"
    - "[com.google.common.collect.TreeRangeSet$AsRanges].hashCode()"
    - "[com.google.common.base.Predicates$CompositionPredicate].hashCode()"
    - "[java.lang.Byte].hashCode()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].hashCode()"
    - "[com.google.common.reflect.TypeToken].hashCode()"
    - "[com.google.common.base.Functions$PredicateFunction].hashCode()"
    - "[com.netflix.spectator.impl.matcher.OrMatcher].hashCode()"
    - "[com.google.common.cache.RemovalNotification].hashCode()"
    - "[com.netflix.servo.util.ManualClock].hashCode()"
    - "[com.google.common.collect.ImmutableList].hashCode()"
    - "[com.google.common.base.Predicates$ContainsPatternPredicate].hashCode()"
    - "[com.netflix.spectator.impl.AsciiSet].hashCode()"
    - "[com.google.common.base.Converter$ConverterComposition].hashCode()"
    - "[com.google.common.collect.TreeMultimap].hashCode()"
    - "[com.google.common.collect.HashBasedTable].hashCode()"
    - "[java.lang.Float].hashCode()"
    - "[com.google.common.collect.RegularContiguousSet].hashCode()"
    - "[com.google.common.reflect.Types$GenericArrayTypeImpl].hashCode()"
    - "[com.google.common.collect.ForwardingList].hashCode()"
    - "[com.netflix.servo.monitor.BasicCounter].hashCode()"
    - "[com.google.common.collect.ImmutableTable].hashCode()"
    - "[com.google.common.base.Equivalence$Wrapper].hashCode()"
    - "[com.google.common.collect.ForwardingMultiset].hashCode()"
    - "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].hashCode()"
    - "[com.google.common.hash.Hashing$ConcatenatedHashFunction].hashCode()"
    - "[com.netflix.servo.tag.BasicTag].hashCode()"
    - "[com.google.common.base.Equivalence$EquivalentToPredicate].hashCode()"
    - "[org.testng.internal.ConstructorOrMethod].hashCode()"
    - "[java.lang.String].hashCode()"
    - "[com.google.common.collect.Maps$BiMapConverter].hashCode()"
    - "[com.netflix.servo.monitor.BasicGauge].hashCode()"
    - "[com.google.common.collect.ImmutableMultiset].hashCode()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].hashCode()"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].hashCode()"
    - "[com.google.common.collect.NullsLastOrdering].hashCode()"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].hashCode()"
    - "[com.netflix.servo.monitor.MinGauge].hashCode()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].hashCode()"
    - "[com.google.common.hash.SipHashFunction].hashCode()"
    - "[com.google.common.collect.Synchronized$SynchronizedMultimap].hashCode()"
    - "[com.google.common.base.Predicates$IsEqualToPredicate].hashCode()"
    - "[com.netflix.servo.monitor.DoubleCounter].hashCode()"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].hashCode()"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].hashCode()"
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].hashCode()"
    - "[com.google.common.base.Predicates$AndPredicate].hashCode()"
    - "[com.netflix.servo.monitor.StatsMonitor$LongGaugeWrapper].hashCode()"
    - "[com.netflix.servo.monitor.LongGauge].hashCode()"
    - "[com.netflix.servo.monitor.AnnotatedStringMonitor].hashCode()"
    - "[com.google.common.collect.ImmutableSet].hashCode()"
    - "[com.google.common.collect.MapMakerInternalMap$WriteThroughEntry].hashCode()"
    - "[com.google.common.base.Suppliers$SupplierOfInstance].hashCode()"
    - "[com.google.common.collect.Sets$CartesianSet].hashCode()"
    - "[com.google.common.base.Functions$ForMapWithDefault].hashCode()"
    - "[com.google.common.hash.Funnels$StringCharsetFunnel].hashCode()"
    - "[com.netflix.servo.tag.SortedTagList].hashCode()"
    - "[com.netflix.spectator.impl.matcher.IndexOfMatcher].hashCode()"
    - "[com.google.common.hash.Murmur3_32HashFunction].hashCode()"
    - "[com.netflix.spectator.impl.matcher.IgnoreCaseMatcher].hashCode()"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].hashCode()"
    - "[org.testng.remote.strprotocol.TestResultMessage].hashCode()"
    - "[com.google.common.collect.ImmutableRangeMap].hashCode()"
    - "[com.netflix.servo.monitor.MaxGauge].hashCode()"
    - "[com.google.common.collect.AbstractTable].hashCode()"
    - "[com.google.common.base.Present].hashCode()"
    - "[com.google.common.net.HostAndPort].hashCode()"
    - "[com.google.common.net.InternetDomainName].hashCode()"
    - "[org.testng.internal.BaseTestMethod].hashCode()"
    - "[com.netflix.spectator.impl.matcher.ZeroOrOneMatcher].hashCode()"
    - "[java.lang.Enum].hashCode()"
    - "[com.google.common.reflect.Types$TypeVariableImpl].hashCode()"
    - "[jdk.internal.module.ModuleReferenceImpl].hashCode()"
    - "[com.google.common.base.Functions$FunctionComposition].hashCode()"
    - "[com.google.common.collect.ForwardingMapEntry].hashCode()"
    - "[java.lang.Long].hashCode()"
    - "[com.google.common.cache.CacheStats].hashCode()"
    - "[com.netflix.spectator.impl.matcher.StartsWithMatcher].hashCode()"
    - "[com.netflix.servo.monitor.StatsTimer].hashCode()"
    - "[com.google.common.base.Absent:com.google.common.collect.Count:com.google.common.collect.EmptyContiguousSet:com.google.common.collect.EmptyImmutableSet:com.google.common.collect.EmptyImmutableSortedSet:com.google.common.collect.ImmutableEnumSet:com.google.common.collect.RegularImmutableSet:com.google.common.primitives.UnsignedInteger:com.google.common.reflect.Parameter:com.netflix.spectator.api.BasicTag:java.awt.AWTKeyStroke:java.awt.AlphaComposite:java.awt.AttributeValue:java.awt.BasicStroke:java.awt.BufferCapabilities$FlipContents:java.awt.Color:java.awt.Dimension:java.awt.DisplayMode:java.awt.Font:java.awt.Insets:java.awt.JobAttributes:java.awt.JobAttributes$DefaultSelectionType:java.awt.JobAttributes$DestinationType:java.awt.JobAttributes$DialogType:java.awt.JobAttributes$MultipleDocumentHandlingType:java.awt.JobAttributes$SidesType:java.awt.MenuShortcut:java.awt.PageAttributes:java.awt.PageAttributes$ColorType:java.awt.PageAttributes$MediaType:java.awt.PageAttributes$OrientationRequestedType:java.awt.PageAttributes$OriginType:java.awt.PageAttributes$PrintQualityType:java.awt.RenderingHints:java.awt.RenderingHints$Key:java.awt.datatransfer.DataFlavor:java.awt.datatransfer.MimeType:java.awt.datatransfer.MimeTypeParameterList:java.awt.font.FontRenderContext:java.awt.font.NumericShaper:java.awt.font.TextHitInfo:java.awt.font.TransformAttribute:java.awt.geom.AffineTransform:java.awt.geom.Point2D:java.awt.geom.Rectangle2D:java.awt.image.ColorModel:java.awt.image.IndexColorModel:java.beans.IndexedPropertyDescriptor:java.beans.PropertyDescriptor:java.io.FilePermission:java.lang.Character$Subset:java.lang.Object:java.lang.Package:java.lang.ProcessBuilder$Redirect:java.lang.ProcessHandleImpl:java.lang.Runtime$Version:java.lang.StackTraceElement:java.lang.Thread$WeakClassKey:java.lang.invoke.ClassSpecializer$SpeciesData:java.lang.invoke.LambdaForm:java.lang.invoke.LambdaForm$Name:java.lang.invoke.LambdaForm$NamedFunction:java.lang.invoke.LambdaFormEditor$Transform:java.lang.invoke.MemberName:java.lang.invoke.MethodType:java.lang.invoke.StringConcatFactory$Key:java.lang.invoke.StringConcatFactory$Recipe:java.lang.invoke.StringConcatFactory$RecipeElement:java.lang.module.ModuleDescriptor:java.lang.module.ModuleDescriptor$Exports:java.lang.module.ModuleDescriptor$Opens:java.lang.module.ModuleDescriptor$Provides:java.lang.module.ModuleDescriptor$Requires:java.lang.module.ModuleDescriptor$Version:java.lang.module.ResolvedModule:java.lang.reflect.Constructor:java.lang.reflect.Field:java.lang.reflect.Method:java.lang.reflect.Parameter:java.math.BigDecimal:java.math.BigInteger:java.math.MathContext:java.net.HttpCookie:java.net.Inet4Address:java.net.Inet6Address:java.net.Inet6Address$Inet6AddressHolder:java.net.InetAddress:java.net.InterfaceAddress:java.net.NetworkInterface:java.net.Proxy:java.net.SocketPermission:java.net.URI:java.net.URL:java.nio.ByteBuffer:java.nio.CharBuffer:java.nio.DoubleBuffer:java.nio.FloatBuffer:java.nio.IntBuffer:java.nio.LongBuffer:java.nio.ShortBuffer:java.nio.charset.Charset:java.nio.file.attribute.FileTime:java.security.AccessControlContext:java.security.AllPermission:java.security.BasicPermission:java.security.CodeSigner:java.security.CodeSource:java.security.Provider$ServiceKey:java.security.Timestamp:java.security.cert.CertPath:java.security.cert.Certificate:java.text.AttributedCharacterIterator$Attribute:java.text.DateFormat:java.text.DateFormatSymbols:java.text.DecimalFormat:java.text.DecimalFormatSymbols:java.text.DigitList:java.text.FieldPosition:java.text.MessageFormat:java.text.NumberFormat:java.text.ParsePosition:java.text.SimpleDateFormat:java.text.StringCharacterIterator:java.time.Clock:java.time.Duration:java.time.Instant:java.time.LocalDate:java.time.LocalDateTime:java.time.LocalTime:java.time.OffsetDateTime:java.time.OffsetTime:java.time.Period:java.time.ZoneId:java.time.ZoneOffset:java.time.ZonedDateTime:java.time.chrono.AbstractChronology:java.time.format.DecimalStyle:java.time.temporal.ValueRange:java.time.zone.ZoneOffsetTransition:java.time.zone.ZoneOffsetTransitionRule:java.time.zone.ZoneRules:java.util.AbstractList:java.util.AbstractMap:java.util.AbstractSet:java.util.ArrayList:java.util.BitSet:java.util.Calendar:java.util.Date:java.util.EnumMap:java.util.GregorianCalendar:java.util.HashMap$Node:java.util.Hashtable:java.util.Hashtable$Entry:java.util.IdentityHashMap:java.util.Locale:java.util.Optional:java.util.OptionalDouble:java.util.OptionalInt:java.util.OptionalLong:java.util.Properties:java.util.PropertyPermission:java.util.ResourceBundle$CacheKey:java.util.TreeMap$Entry:java.util.UUID:java.util.Vector:java.util.WeakHashMap$Entry:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView:java.util.concurrent.ConcurrentHashMap$Node:java.util.concurrent.CopyOnWriteArrayList:java.util.jar.Attributes:java.util.jar.Attributes$Name:java.util.jar.Manifest:java.util.logging.Level:java.util.logging.LogManager$CloseOnReset:java.util.zip.ZipEntry:java.util.zip.ZipFile$Source$Key:javax.crypto.CryptoPermission:javax.management.Attribute:javax.management.MBeanAttributeInfo:javax.management.MBeanConstructorInfo:javax.management.MBeanFeatureInfo:javax.management.MBeanInfo:javax.management.MBeanNotificationInfo:javax.management.MBeanOperationInfo:javax.management.MBeanParameterInfo:javax.management.ObjectInstance:javax.management.ObjectName:javax.management.openmbean.CompositeType:javax.management.openmbean.TabularType:javax.print.DocFlavor:javax.print.MimeType:javax.security.auth.Subject:javax.swing.text.SimpleAttributeSet:javax.swing.text.StyleContext$FontKey:javax.swing.text.StyleContext$SmallAttributeSet:javax.swing.text.TabSet:javax.swing.text.TabStop:javax.swing.tree.TreePath:jdk.internal.misc.Signal:jdk.internal.org.objectweb.asm.Type:sun.font.AttributeValues:sun.font.CoreMetrics:sun.font.FontLineMetrics:sun.font.FontStrikeDesc:sun.java2d.loops.CompositeType:sun.java2d.loops.SurfaceType:sun.java2d.pipe.Region:sun.nio.ch.FileKey:sun.nio.fs.UnixFileStore:sun.nio.fs.UnixPath:sun.util.calendar.CalendarDate:sun.util.calendar.Era:sun.util.locale.BaseLocale:sun.util.locale.BaseLocale$Key:sun.util.locale.LocaleExtensions].hashCode()"
    - "[java.lang.Object].hashCode()"
    functionUses: 39
    ICount: 11
    EdgeCount: 231
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$Entry:74,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$Entry].toString()"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$Entry"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(long)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 39
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$Entry:80,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.util.ExpiringCache$Entry:80,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.util.ExpiringCache$Entry:80,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "com.netflix.servo.util.ExpiringCache$Entry:80,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.util.ExpiringCache$Entry:80,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.util.ExpiringCache$Entry:80,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$Entry].access$000(com.netflix.servo.util.ExpiringCache$Entry)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$Entry"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "com.netflix.servo.util.ExpiringCache$Entry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache$Entry].getValue()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$Entry:41,1"
      Dst: "[com.netflix.servo.util.ExpiringCache$Entry].getValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$Entry].access$100(com.netflix.servo.util.ExpiringCache$Entry)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$Entry"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "com.netflix.servo.util.ExpiringCache$Entry"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$Entry].<init>(java.lang.Object,long,com.netflix.servo.util.Clock,com.netflix.servo.util.ExpiringCache$1)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$Entry"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionDepth: 1
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.Object"
    - "long"
    - "com.netflix.servo.util.Clock"
    - "com.netflix.servo.util.ExpiringCache$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache$Entry].<init>(java.lang.Object,long,com.netflix.servo.util.Clock)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$Entry:41,1"
      Dst: "[com.netflix.servo.util.ExpiringCache$Entry].<init>(java.lang.Object,long,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$Entry].access$300(com.netflix.servo.util.ExpiringCache$Entry)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$Entry"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "com.netflix.servo.util.ExpiringCache$Entry"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache].<init>(long,java.util.function.Function)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache"
    linkageType: ""
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "java.util.function.Function"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache].<init>(long,java.util.function.Function,long,com.netflix.servo.util.Clock)"
    - "[java.util.concurrent.TimeUnit].toMillis(long)"
    functionUses: 2
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache:95,1"
      Dst: "[java.util.concurrent.TimeUnit].toMillis(long)"
    - Src: "com.netflix.servo.util.ExpiringCache:95,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].<init>(long,java.util.function.Function,long,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache].<init>(long,java.util.function.Function,long,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "long"
    - "java.util.function.Function"
    - "long"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    - "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - "[com.netflix.servo.util.ExpiringCache].toEntry(java.util.function.Function)"
    - "[com.netflix.servo.util.ExpiringCache$lambda_new_2__22].bootstrap$(com.netflix.servo.util.ExpiringCache,com.netflix.servo.util.Clock,long)"
    - "[com.google.common.util.concurrent.MoreExecutors$ScheduledListeningDecorator].scheduleWithFixedDelay(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)"
    - "[com.google.common.util.concurrent.WrappingScheduledExecutorService].scheduleWithFixedDelay(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)"
    - "[java.util.concurrent.ScheduledExecutorService].scheduleWithFixedDelay(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)"
    functionUses: 1
    ICount: 32
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.ExpiringCache:110"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ExpiringCache:109"
        BranchSideFuncs:
        - "checkArgument(boolean,java.lang.String)"
      - BranchSide: "com.netflix.servo.util.ExpiringCache:108"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.ExpiringCache:111"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ExpiringCache:110"
        BranchSideFuncs:
        - "checkArgument(boolean,java.lang.String)"
        - "<init>()"
        - "bootstrap$(com.netflix.servo.util.ExpiringCache,com.netflix.servo.util.Clock,long)"
        - "scheduleWithFixedDelay(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)"
        - "toEntry(java.util.function.Function)"
      - BranchSide: "com.netflix.servo.util.ExpiringCache:109"
        BranchSideFuncs:
        - "checkArgument(boolean,java.lang.String)"
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache:109,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.util.ExpiringCache:110,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    - Src: "com.netflix.servo.util.ExpiringCache:112,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - Src: "com.netflix.servo.util.ExpiringCache:114,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].toEntry(java.util.function.Function)"
    - Src: "com.netflix.servo.util.ExpiringCache:116,1"
      Dst: "[com.netflix.servo.util.ExpiringCache$lambda_new_2__22].bootstrap$(com.netflix.servo.util.ExpiringCache,com.netflix.servo.util.Clock,long)"
    - Src: "com.netflix.servo.util.ExpiringCache:121,1"
      Dst: "[java.util.concurrent.ScheduledExecutorService].scheduleWithFixedDelay(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.util.ExpiringCache].toEntry(java.util.function.Function<K,V>)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache"
    linkageType: ""
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionDepth: 2
    returnType: "java.util.function.Function<K,Entry<V>>"
    argCount: 1
    argTypes:
    - "java.util.function.Function<K,V>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache$lambda_toEntry_3__40].bootstrap$(com.netflix.servo.util.ExpiringCache,java.util.function.Function)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache:125,1"
      Dst: "[com.netflix.servo.util.ExpiringCache$lambda_toEntry_3__40].bootstrap$(com.netflix.servo.util.ExpiringCache,java.util.function.Function)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$lambda_toEntry_3__40].bootstrap$(com.netflix.servo.util.ExpiringCache,java.util.function.Function)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$lambda_toEntry_3__40"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.Function"
    argCount: 2
    argTypes:
    - "com.netflix.servo.util.ExpiringCache"
    - "java.util.function.Function"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache$lambda_toEntry_3__40].<init>(com.netflix.servo.util.ExpiringCache,java.util.function.Function)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$lambda_toEntry_3__40:-1,1"
      Dst: "[com.netflix.servo.util.ExpiringCache$lambda_toEntry_3__40].<init>(com.netflix.servo.util.ExpiringCache,java.util.function.Function)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$lambda_toEntry_3__40].<init>(com.netflix.servo.util.ExpiringCache,java.util.function.Function)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$lambda_toEntry_3__40"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.util.ExpiringCache"
    - "java.util.function.Function"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$lambda_toEntry_3__40:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache].computeIfAbsent(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache"
    linkageType: ""
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionDepth: 0
    returnType: "com.netflix.servo.util.ExpiringCache$Entry"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ConcurrentHashMap].get(java.lang.Object)"
    - "[jdk.internal.logger.BootstrapLogger$RedirectedLoggers].apply(java.lang.Object)"
    - "[com.netflix.servo.util.ExpiringCache$lambda_values_4__43].apply(java.lang.Object)"
    - "[com.netflix.servo.monitor.DynamicTimer$newTimer__7].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$MostFrequentLimiter].apply(java.lang.Object)"
    - "[jdk.internal.jmod.JmodFile$Entry$jmodDir__64].apply(java.lang.Object)"
    - "[jdk.internal.jimage.ImageReaderFactory$1].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.AbstractRegistry$lambda_normalizeId_1__9].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.PolledMeter$init__16].apply(java.lang.Object)"
    - "[com.netflix.servo.monitor.DynamicCounter$init__6].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.PolledMeter$Builder$lambda_monitorMonotonicCounterDouble_2__44].apply(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$MethodHandleInlineCopyStrategy$3].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.AbstractRegistry$lambda_getOrCreate_2__33].apply(java.lang.Object)"
    - "[com.netflix.servo.jmx.JmxMonitorRegistry$lambda_getLock_0__41].apply(java.lang.Object)"
    - "[jdk.internal.loader.Loader$lambda_moduleReaderFor_7__32].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.CompositeRegistry$lambda_newTimer_2__11].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$MostFrequentLimiter$lambda_apply_6__36].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.PolledMeter$Builder$lambda_monitorValue_0__31].apply(java.lang.Object)"
    - "[jdk.internal.loader.BuiltinClassLoader$5].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.CompositeRegistry$lambda_newGauge_3__13].apply(java.lang.Object)"
    - "[jdk.internal.logger.DefaultLoggerFinder$makeSimpleLogger__61].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$RollupLimiter].apply(java.lang.Object)"
    - "[com.netflix.servo.publish.MetricTransformObserver$apply__59].apply(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$MethodHandleStringBuilderStrategy$1].apply(java.lang.Object)"
    - "[com.netflix.servo.util.ExpiringCache$lambda_toEntry_3__40].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.CompositeRegistry$lambda_newMaxGauge_4__66].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.CompositeRegistry$lambda_newCounter_0__10].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.CompositeRegistry$lambda_newDistributionSummary_1__12].apply(java.lang.Object)"
    - "[jdk.internal.logger.DefaultLoggerFinder$makeSimpleLogger__60].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$MostFrequentLimiter$lambda_updateCutoff_0__48].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$FirstLimiter].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$MostFrequentLimiter$lambda_toString_8__5].apply(java.lang.Object)"
    - "[jdk.internal.module.ModuleLoaderMap$Mapper].apply(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$MethodHandleInlineCopyStrategy$2].apply(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$MethodHandleInlineCopyStrategy$1].apply(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].putIfAbsent(java.lang.Object,java.lang.Object)"
    - "[java.util.function.Function].apply(java.lang.Object)"
    functionUses: 1
    ICount: 15
    EdgeCount: 36
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.ExpiringCache:137"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ExpiringCache:144"
        BranchSideFuncs:
        - "putIfAbsent(java.lang.Object,java.lang.Object)"
        - "apply(java.lang.Object)"
      - BranchSide: "com.netflix.servo.util.ExpiringCache:143"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.ExpiringCache:140"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ExpiringCache:144"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.ExpiringCache:143"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache:136,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].get(java.lang.Object)"
    - Src: "com.netflix.servo.util.ExpiringCache:138,1"
      Dst: "[java.util.function.Function].apply(java.lang.Object)"
    - Src: "com.netflix.servo.util.ExpiringCache:139,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].putIfAbsent(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.util.ExpiringCache].get(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache"
    linkageType: ""
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache].computeIfAbsent(java.lang.Object)"
    - "[com.netflix.servo.util.ExpiringCache$Entry].access$000(com.netflix.servo.util.ExpiringCache$Entry)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache:151,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].computeIfAbsent(java.lang.Object)"
    - Src: "com.netflix.servo.util.ExpiringCache:152,1"
      Dst: "[com.netflix.servo.util.ExpiringCache$Entry].access$000(com.netflix.servo.util.ExpiringCache$Entry)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache].values()"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache"
    linkageType: ""
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionDepth: 2
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ConcurrentHashMap].values()"
    - "[com.netflix.servo.util.ExpiringCache$lambda_values_4__43].bootstrap$()"
    - "[java.util.Collection].stream()"
    - "[java.util.stream.Collectors].toList()"
    - "[java.util.Collections].unmodifiableList(java.util.List)"
    - "[java.util.stream.Stream].map(java.util.function.Function)"
    - "[java.util.stream.Stream].collect(java.util.stream.Collector)"
    functionUses: 2
    ICount: 11
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache:160,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].values()"
    - Src: "com.netflix.servo.util.ExpiringCache:162,1"
      Dst: "[java.util.Collection].stream()"
    - Src: "com.netflix.servo.util.ExpiringCache:162,1"
      Dst: "[com.netflix.servo.util.ExpiringCache$lambda_values_4__43].bootstrap$()"
    - Src: "com.netflix.servo.util.ExpiringCache:162,1"
      Dst: "[java.util.stream.Stream].map(java.util.function.Function)"
    - Src: "com.netflix.servo.util.ExpiringCache:162,1"
      Dst: "[java.util.stream.Collectors].toList()"
    - Src: "com.netflix.servo.util.ExpiringCache:162,1"
      Dst: "[java.util.stream.Stream].collect(java.util.stream.Collector)"
    - Src: "com.netflix.servo.util.ExpiringCache:163,1"
      Dst: "[java.util.Collections].unmodifiableList(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$lambda_values_4__43].bootstrap$()"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$lambda_values_4__43"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.Function"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache$lambda_values_4__43].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$lambda_values_4__43:-1,1"
      Dst: "[com.netflix.servo.util.ExpiringCache$lambda_values_4__43].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$lambda_values_4__43].<init>()"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$lambda_values_4__43"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$lambda_values_4__43:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache].size()"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache"
    linkageType: ""
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ConcurrentHashMap].size()"
    functionUses: 4
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache:170,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache].toString()"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache"
    linkageType: ""
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(long)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 39
    ICount: 12
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache:178,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.util.ExpiringCache:178,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.util.ExpiringCache:178,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.util.ExpiringCache:178,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "com.netflix.servo.util.ExpiringCache:178,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.util.ExpiringCache:178,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache].lambda$values$4(com.netflix.servo.util.ExpiringCache$Entry)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache"
    linkageType: ""
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "com.netflix.servo.util.ExpiringCache$Entry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache$Entry].access$100(com.netflix.servo.util.ExpiringCache$Entry)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache:162,1"
      Dst: "[com.netflix.servo.util.ExpiringCache$Entry].access$100(com.netflix.servo.util.ExpiringCache$Entry)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache].lambda$toEntry$3(java.util.function.Function,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache"
    linkageType: ""
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionDepth: 2
    returnType: "com.netflix.servo.util.ExpiringCache$Entry"
    argCount: 2
    argTypes:
    - "java.util.function.Function"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache$Entry].<init>(java.lang.Object,long,com.netflix.servo.util.Clock,com.netflix.servo.util.ExpiringCache$1)"
    - "[jdk.internal.logger.BootstrapLogger$RedirectedLoggers].apply(java.lang.Object)"
    - "[com.netflix.servo.util.ExpiringCache$lambda_values_4__43].apply(java.lang.Object)"
    - "[com.netflix.servo.monitor.DynamicTimer$newTimer__7].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$MostFrequentLimiter].apply(java.lang.Object)"
    - "[jdk.internal.jmod.JmodFile$Entry$jmodDir__64].apply(java.lang.Object)"
    - "[jdk.internal.jimage.ImageReaderFactory$1].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.AbstractRegistry$lambda_normalizeId_1__9].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.PolledMeter$init__16].apply(java.lang.Object)"
    - "[com.netflix.servo.monitor.DynamicCounter$init__6].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.PolledMeter$Builder$lambda_monitorMonotonicCounterDouble_2__44].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.AbstractRegistry$lambda_getOrCreate_2__33].apply(java.lang.Object)"
    - "[com.netflix.servo.jmx.JmxMonitorRegistry$lambda_getLock_0__41].apply(java.lang.Object)"
    - "[jdk.internal.loader.Loader$lambda_moduleReaderFor_7__32].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.CompositeRegistry$lambda_newTimer_2__11].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$MostFrequentLimiter$lambda_apply_6__36].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.PolledMeter$Builder$lambda_monitorValue_0__31].apply(java.lang.Object)"
    - "[jdk.internal.loader.BuiltinClassLoader$5].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.CompositeRegistry$lambda_newGauge_3__13].apply(java.lang.Object)"
    - "[jdk.internal.logger.DefaultLoggerFinder$makeSimpleLogger__61].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$RollupLimiter].apply(java.lang.Object)"
    - "[com.netflix.servo.publish.MetricTransformObserver$apply__59].apply(java.lang.Object)"
    - "[com.netflix.servo.util.ExpiringCache$lambda_toEntry_3__40].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.CompositeRegistry$lambda_newCounter_0__10].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.CompositeRegistry$lambda_newDistributionSummary_1__12].apply(java.lang.Object)"
    - "[jdk.internal.logger.DefaultLoggerFinder$makeSimpleLogger__60].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$MostFrequentLimiter$lambda_updateCutoff_0__48].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$FirstLimiter].apply(java.lang.Object)"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$MostFrequentLimiter$lambda_toString_8__5].apply(java.lang.Object)"
    - "[jdk.internal.module.ModuleLoaderMap$Mapper].apply(java.lang.Object)"
    - "[java.lang.invoke.StringConcatFactory$MethodHandleInlineCopyStrategy$1:java.lang.invoke.StringConcatFactory$MethodHandleInlineCopyStrategy$2:java.lang.invoke.StringConcatFactory$MethodHandleInlineCopyStrategy$3:java.lang.invoke.StringConcatFactory$MethodHandleStringBuilderStrategy$1].apply(java.lang.Object)"
    - "[java.util.function.Function].apply(java.lang.Object)"
    functionUses: 1
    ICount: 8
    EdgeCount: 31
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache:125,1"
      Dst: "[java.util.function.Function].apply(java.lang.Object)"
    - Src: "com.netflix.servo.util.ExpiringCache:125,1"
      Dst: "[com.netflix.servo.util.ExpiringCache$Entry].<init>(java.lang.Object,long,com.netflix.servo.util.Clock,com.netflix.servo.util.ExpiringCache$1)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache].lambda$new$2(com.netflix.servo.util.Clock,long)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache"
    linkageType: ""
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.util.Clock"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ClockWithOffset].now()"
    - "[com.netflix.servo.util.ManualClock].now()"
    - "[com.netflix.servo.util.ExpiringCache$lambda_new_0__57].bootstrap$(long)"
    - "[com.netflix.servo.util.ExpiringCache$lambda_new_1__58].bootstrap$(com.netflix.servo.util.ExpiringCache)"
    - "[java.util.concurrent.ConcurrentHashMap].entrySet()"
    - "[java.util.Collection].stream()"
    - "[com.netflix.servo.util.Clock].now()"
    - "[java.util.stream.Stream].filter(java.util.function.Predicate)"
    - "[java.util.stream.Stream].forEach(java.util.function.Consumer)"
    functionUses: 1
    ICount: 13
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache:117,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    - Src: "com.netflix.servo.util.ExpiringCache:118,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].entrySet()"
    - Src: "com.netflix.servo.util.ExpiringCache:118,1"
      Dst: "[java.util.Collection].stream()"
    - Src: "com.netflix.servo.util.ExpiringCache:118,1"
      Dst: "[com.netflix.servo.util.ExpiringCache$lambda_new_0__57].bootstrap$(long)"
    - Src: "com.netflix.servo.util.ExpiringCache:118,1"
      Dst: "[java.util.stream.Stream].filter(java.util.function.Predicate)"
    - Src: "com.netflix.servo.util.ExpiringCache:118,1"
      Dst: "[com.netflix.servo.util.ExpiringCache$lambda_new_1__58].bootstrap$(com.netflix.servo.util.ExpiringCache)"
    - Src: "com.netflix.servo.util.ExpiringCache:119,1"
      Dst: "[java.util.stream.Stream].forEach(java.util.function.Consumer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$lambda_new_0__57].bootstrap$(long)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$lambda_new_0__57"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache$lambda_new_0__57].<init>(long)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$lambda_new_0__57:-1,1"
      Dst: "[com.netflix.servo.util.ExpiringCache$lambda_new_0__57].<init>(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$lambda_new_0__57].<init>(long)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$lambda_new_0__57"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$lambda_new_0__57:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$lambda_new_1__58].bootstrap$(com.netflix.servo.util.ExpiringCache)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$lambda_new_1__58"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.Consumer"
    argCount: 1
    argTypes:
    - "com.netflix.servo.util.ExpiringCache"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache$lambda_new_1__58].<init>(com.netflix.servo.util.ExpiringCache)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$lambda_new_1__58:-1,1"
      Dst: "[com.netflix.servo.util.ExpiringCache$lambda_new_1__58].<init>(com.netflix.servo.util.ExpiringCache)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$lambda_new_1__58].<init>(com.netflix.servo.util.ExpiringCache)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$lambda_new_1__58"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.util.ExpiringCache"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$lambda_new_1__58:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache].lambda$new$1(java.util.Map$Entry)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache"
    linkageType: ""
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Map$Entry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Maps$10].getKey()"
    - "[com.google.common.collect.ForwardingMapEntry].getKey()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1$1$1].getKey()"
    - "[com.google.common.collect.StandardTable$Column$EntrySetIterator$1].getKey()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].getKey()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1$1].getKey()"
    - "[com.google.common.collect.Maps$6].getKey()"
    - "[java.util.HashMap$Node].getKey()"
    - "[com.google.common.collect.StandardTable$Column$EntrySetIterator$1].getValue()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1$1$1].getValue()"
    - "[com.google.common.collect.ForwardingMapEntry].getValue()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1$1].getValue()"
    - "[com.google.common.collect.Maps$6].getValue()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry:com.google.common.cache.RemovalNotification:com.google.common.collect.HashBiMap$EntrySet$1$MapEntry:com.google.common.collect.HashBiMap$Inverse$1$1$InverseEntry:com.google.common.collect.ImmutableEntry:com.google.common.collect.LinkedListMultimap$Node:com.google.common.collect.MapMakerInternalMap$WriteThroughEntry:com.google.common.collect.TreeRangeMap$RangeMapEntry:com.google.common.collect.WellBehavedMap$EntrySet$1$1:java.util.HashMap$Node:java.util.Hashtable$Entry:java.util.TreeMap$Entry:java.util.WeakHashMap$Entry:java.util.concurrent.ConcurrentHashMap$Node].getValue()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].getValue()"
    - "[com.google.common.collect.Maps$10].getValue()"
    - "[com.google.common.collect.MapConstraints$2].getValue()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1$1].getValue()"
    - "[java.util.concurrent.ConcurrentHashMap].remove(java.lang.Object,java.lang.Object)"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map$Entry].getValue()"
    functionUses: 1
    ICount: 7
    EdgeCount: 20
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache:119,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.netflix.servo.util.ExpiringCache:119,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.netflix.servo.util.ExpiringCache:119,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].remove(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache].lambda$new$0(long,java.util.Map$Entry)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "long"
    - "java.util.Map$Entry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map$Entry].getValue()"
    - "[com.netflix.servo.util.ExpiringCache$Entry].access$300(com.netflix.servo.util.ExpiringCache$Entry)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.ExpiringCache:118"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ExpiringCache:117"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache:118,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.netflix.servo.util.ExpiringCache:118,1"
      Dst: "[com.netflix.servo.util.ExpiringCache$Entry].access$300(com.netflix.servo.util.ExpiringCache$Entry)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[MonitorConfigFuzzer].<init>()"
    functionSourceFile: "MonitorConfigFuzzer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "MonitorConfigFuzzer:8,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[MonitorConfigFuzzer].fuzzerTestOneInput(com.code_intelligence.jazzer.api.FuzzedDataProvider)"
    functionSourceFile: "MonitorConfigFuzzer"
    linkageType: ""
    functionLinenumber: 9
    functionLinenumberEnd: 29
    functionDepth: 8
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.code_intelligence.jazzer.api.FuzzedDataProvider"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].isEmpty()"
    - "[com.netflix.servo.tag.SortedTagList].builder()"
    - "[com.netflix.servo.tag.SortedTagList$Builder].withTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.tag.BasicTagList].<init>(java.lang.Iterable)"
    - "[com.netflix.servo.tag.SortedTagList$Builder].build()"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.netflix.servo.monitor.MonitorConfig].getPublishingPolicy()"
    - "[com.netflix.servo.monitor.BasicCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeString(int)"
    - "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeRemainingAsString()"
    functionUses: 0
    ICount: 25
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "MonitorConfigFuzzer:13"
      Branch Sides:
      - BranchSide: "MonitorConfigFuzzer:14"
        BranchSideFuncs: []
      - BranchSide: "MonitorConfigFuzzer:13"
        BranchSideFuncs: []
    - Branch String: "MonitorConfigFuzzer:13"
      Branch Sides:
      - BranchSide: "MonitorConfigFuzzer:17"
        BranchSideFuncs: []
      - BranchSide: "MonitorConfigFuzzer:16"
        BranchSideFuncs:
        - "getTags()"
        - "withTag(java.lang.String,java.lang.String)"
        - "getName()"
        - "<init>(com.netflix.servo.monitor.MonitorConfig)"
        - "builder()"
        - "<init>(java.lang.String)"
        - "build()"
        - "getPublishingPolicy()"
        - "withTags(com.netflix.servo.tag.TagList)"
        - "<init>(java.lang.Iterable)"
        - "hashCode()"
    Callsites:
    - Src: "MonitorConfigFuzzer:10,1"
      Dst: "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeString(int)"
    - Src: "MonitorConfigFuzzer:12,1"
      Dst: "[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeRemainingAsString()"
    - Src: "MonitorConfigFuzzer:13,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "MonitorConfigFuzzer:17,1"
      Dst: "[com.netflix.servo.tag.SortedTagList].builder()"
    - Src: "MonitorConfigFuzzer:18,1"
      Dst: "[com.netflix.servo.tag.SortedTagList$Builder].withTag(java.lang.String,java.lang.String)"
    - Src: "MonitorConfigFuzzer:19,1"
      Dst: "[com.netflix.servo.tag.SortedTagList$Builder].build()"
    - Src: "MonitorConfigFuzzer:19,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].<init>(java.lang.Iterable)"
    - Src: "MonitorConfigFuzzer:21,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    - Src: "MonitorConfigFuzzer:21,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "MonitorConfigFuzzer:21,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "MonitorConfigFuzzer:22,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - Src: "MonitorConfigFuzzer:23,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - Src: "MonitorConfigFuzzer:24,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "MonitorConfigFuzzer:25,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getPublishingPolicy()"
    - Src: "MonitorConfigFuzzer:27,1"
      Dst: "[com.netflix.servo.monitor.BasicCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.BasicTagList].<init>(java.lang.Iterable)"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.netflix.servo.tag.SmallTagMap].builder()"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].addAll(java.lang.Iterable)"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    functionUses: 3
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:54,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.tag.BasicTagList:55,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].builder()"
    - Src: "com.netflix.servo.tag.BasicTagList:56,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].addAll(java.lang.Iterable)"
    - Src: "com.netflix.servo.tag.BasicTagList:57,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.annotations.DataSourceType].values()"
    functionSourceFile: "com.netflix.servo.annotations.DataSourceType"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.annotations.DataSourceType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.annotations.DataSourceType:24,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.annotations.DataSourceType].valueOf(java.lang.String)"
    functionSourceFile: "com.netflix.servo.annotations.DataSourceType"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.annotations.DataSourceType"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.annotations.DataSourceType:24,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.annotations.DataSourceType].<init>(java.lang.String,int)"
    functionSourceFile: "com.netflix.servo.annotations.DataSourceType"
    linkageType: ""
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 5
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.annotations.DataSourceType:24,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.annotations.DataSourceType].getKey()"
    functionSourceFile: "com.netflix.servo.annotations.DataSourceType"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 15
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.annotations.DataSourceType].getValue()"
    functionSourceFile: "com.netflix.servo.annotations.DataSourceType"
    linkageType: ""
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].name()"
    functionUses: 13
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.annotations.DataSourceType:75,1"
      Dst: "[java.lang.Enum].name()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.annotations.DataSourceType].tagString()"
    functionSourceFile: "com.netflix.servo.annotations.DataSourceType"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[com.netflix.servo.annotations.DataSourceType].getKey()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.netflix.servo.annotations.DataSourceType].getValue()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.annotations.DataSourceType:82,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.annotations.DataSourceType:82,1"
      Dst: "[com.netflix.servo.annotations.DataSourceType].getKey()"
    - Src: "com.netflix.servo.annotations.DataSourceType:82,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.annotations.DataSourceType:82,1"
      Dst: "[com.netflix.servo.annotations.DataSourceType].getValue()"
    - Src: "com.netflix.servo.annotations.DataSourceType:82,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.annotations.DataSourceType].$values()"
    functionSourceFile: "com.netflix.servo.annotations.DataSourceType"
    linkageType: ""
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionDepth: 0
    returnType: "com.netflix.servo.annotations.DataSourceType[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$lambda_new_2__22].bootstrap$(com.netflix.servo.util.ExpiringCache,com.netflix.servo.util.Clock,long)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$lambda_new_2__22"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Runnable"
    argCount: 3
    argTypes:
    - "com.netflix.servo.util.ExpiringCache"
    - "com.netflix.servo.util.Clock"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache$lambda_new_2__22].<init>(com.netflix.servo.util.ExpiringCache,com.netflix.servo.util.Clock,long)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$lambda_new_2__22:-1,1"
      Dst: "[com.netflix.servo.util.ExpiringCache$lambda_new_2__22].<init>(com.netflix.servo.util.ExpiringCache,com.netflix.servo.util.Clock,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$lambda_new_2__22].<init>(com.netflix.servo.util.ExpiringCache,com.netflix.servo.util.Clock,long)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$lambda_new_2__22"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.util.ExpiringCache"
    - "com.netflix.servo.util.Clock"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$lambda_new_2__22:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$lambda_new_2__22].run()"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$lambda_new_2__22"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache].lambda$new$2(com.netflix.servo.util.Clock,long)"
    functionUses: 28
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$lambda_new_2__22:-1,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].lambda$new$2(com.netflix.servo.util.Clock,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyGauge].id()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyGauge"
    linkageType: ""
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionDepth: 1
    returnType: "com.netflix.spectator.api.Id"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyGauge].get()"
    - "[com.netflix.spectator.api.NoopGauge].id()"
    - "[com.netflix.spectator.api.CompositeMeter].id()"
    - "[com.netflix.spectator.api.DefaultGauge].id()"
    - "[com.netflix.spectator.api.DefaultMaxGauge].id()"
    - "[com.netflix.servo.SpectatorContext$LazyGauge].id()"
    - "[com.netflix.spectator.impl.SwapMeter].id()"
    - "[com.netflix.spectator.api.Meter].id()"
    functionUses: 9
    ICount: 4
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyGauge:443,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyGauge].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyGauge:443,1"
      Dst: "[com.netflix.spectator.api.Meter].id()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyGauge].measure()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyGauge"
    linkageType: ""
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionDepth: 1
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyGauge].get()"
    - "[com.netflix.spectator.api.DefaultGauge].measure()"
    - "[com.netflix.spectator.api.CompositeMeter].measure()"
    - "[com.netflix.spectator.api.NoopGauge].measure()"
    - "[com.netflix.spectator.api.DefaultMaxGauge].measure()"
    - "[com.netflix.spectator.impl.SwapMeter].measure()"
    - "[com.netflix.servo.SpectatorContext$LazyGauge].measure()"
    - "[com.netflix.spectator.api.Meter].measure()"
    functionUses: 4
    ICount: 4
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyGauge:447,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyGauge].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyGauge:447,1"
      Dst: "[com.netflix.spectator.api.Meter].measure()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyGauge].hasExpired()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyGauge"
    linkageType: ""
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyGauge].get()"
    - "[com.netflix.spectator.impl.SwapMeter].hasExpired()"
    - "[com.netflix.spectator.api.CompositeMeter].hasExpired()"
    - "[com.netflix.spectator.api.DefaultGauge].hasExpired()"
    - "[com.netflix.spectator.api.DefaultMaxGauge].hasExpired()"
    - "[com.netflix.servo.SpectatorContext$LazyGauge].hasExpired()"
    - "[com.netflix.spectator.api.NoopGauge].hasExpired()"
    - "[com.netflix.spectator.api.Meter].hasExpired()"
    functionUses: 4
    ICount: 4
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyGauge:451,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyGauge].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyGauge:451,1"
      Dst: "[com.netflix.spectator.api.Meter].hasExpired()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyGauge].value()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyGauge].get()"
    - "[com.netflix.spectator.api.Gauge].value()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyGauge:459,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyGauge].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyGauge:459,1"
      Dst: "[com.netflix.spectator.api.Gauge].value()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$maxGauge__47].bootstrap$()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$maxGauge__47"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.BiFunction"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$maxGauge__47].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$maxGauge__47:-1,1"
      Dst: "[com.netflix.servo.SpectatorContext$maxGauge__47].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$maxGauge__47].<init>()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$maxGauge__47"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$maxGauge__47:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$maxGauge__47].apply(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$maxGauge__47"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.AbstractRegistry].maxGauge(com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.CompositeRegistry].maxGauge(com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.ExtendedRegistry].maxGauge(com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.NoopRegistry].maxGauge(com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.Registry].maxGauge(com.netflix.spectator.api.Id)"
    functionUses: 1
    ICount: 7
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$maxGauge__47:-1,1"
      Dst: "[com.netflix.spectator.api.Registry].maxGauge(com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StepCounter].increment()"
    functionSourceFile: "com.netflix.servo.monitor.StepCounter"
    linkageType: ""
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.Counter].increment()"
    - "[com.netflix.servo.monitor.StepLong].addAndGet(long)"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StepCounter:62,1"
      Dst: "[com.netflix.spectator.api.Counter].increment()"
    - Src: "com.netflix.servo.monitor.StepCounter:63,1"
      Dst: "[com.netflix.servo.monitor.StepLong].addAndGet(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StepLong].addAndGet(long)"
    functionSourceFile: "com.netflix.servo.monitor.StepLong"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].addAndGet(long)"
    - "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StepLong:53"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StepLong:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StepLong:54,1"
      Dst: "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - Src: "com.netflix.servo.monitor.StepLong:54,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].addAndGet(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.StepCounter].increment(long)"
    functionSourceFile: "com.netflix.servo.monitor.StepCounter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.Counter].increment(long)"
    - "[com.netflix.servo.monitor.StepLong].addAndGet(long)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StepCounter:72"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StepCounter:75"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StepCounter:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StepCounter:71,1"
      Dst: "[com.netflix.spectator.api.Counter].increment(long)"
    - Src: "com.netflix.servo.monitor.StepCounter:73,1"
      Dst: "[com.netflix.servo.monitor.StepLong].addAndGet(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.StepCounter].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.StepCounter"
    linkageType: ""
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionDepth: 2
    returnType: "java.lang.Number"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepLong].poll(int)"
    - "[java.lang.Double].valueOf(double)"
    functionUses: 6
    ICount: 12
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StepCounter:82,1"
      Dst: "[com.netflix.servo.monitor.StepLong].poll(int)"
    - Src: "com.netflix.servo.monitor.StepCounter:84,1"
      Dst: "[java.lang.Double].valueOf(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StepCounter].getCount(int)"
    functionSourceFile: "com.netflix.servo.monitor.StepCounter"
    linkageType: ""
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionDepth: 2
    returnType: "long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepLong].poll(int)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StepCounter:91,1"
      Dst: "[com.netflix.servo.monitor.StepLong].poll(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StepCounter].getCurrentCount(int)"
    functionSourceFile: "com.netflix.servo.monitor.StepCounter"
    linkageType: ""
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionDepth: 2
    returnType: "long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    functionUses: 3
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StepCounter:99,1"
      Dst: "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - Src: "com.netflix.servo.monitor.StepCounter:99,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StepCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.StepCounter"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.SpectatorContext$LazyCounter].setId(com.netflix.spectator.api.Id)"
    functionUses: 9
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StepCounter:107,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.StepCounter:107,1"
      Dst: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.StepCounter:108,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyCounter].setId(com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StepCounter].toString()"
    functionSourceFile: "com.netflix.servo.monitor.StepCounter"
    linkageType: ""
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 39
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StepCounter:116,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.StepCounter:116,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.StepCounter:116,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.StepCounter:116,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.StepCounter:116,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StepCounter].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.StepCounter"
    linkageType: ""
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StepCounter].getCount(int)"
    functionUses: 45
    ICount: 22
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StepCounter:124"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StepCounter:127"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StepCounter:126"
        BranchSideFuncs:
        - "getClass()"
    - Branch String: "com.netflix.servo.monitor.StepCounter:127"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StepCounter:128"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StepCounter:127"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.StepCounter:127"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StepCounter:131"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StepCounter:130"
        BranchSideFuncs:
        - "getCount(int)"
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.servo.monitor.StepCounter:132"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StepCounter:130"
        BranchSideFuncs:
        - "getCount(int)"
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.servo.monitor.StepCounter:132"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StepCounter:130"
        BranchSideFuncs:
        - "getCount(int)"
        - "equals(java.lang.Object)"
    Callsites:
    - Src: "com.netflix.servo.monitor.StepCounter:127,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.monitor.StepCounter:132,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.StepCounter:132,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].getCount(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.StepCounter].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.StepCounter"
    linkageType: ""
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    functionUses: 45
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StepCounter:140,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MaxGauge].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.MaxGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MaxGauge].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MaxGauge:41,1"
      Dst: "[com.netflix.servo.monitor.MaxGauge].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MaxGauge].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.monitor.MaxGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.StepLong].<init>(long,com.netflix.servo.util.Clock)"
    - "[com.netflix.servo.SpectatorContext].maxGauge(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MaxGauge:48,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.MaxGauge:48,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.MaxGauge:50,1"
      Dst: "[com.netflix.servo.monitor.StepLong].<init>(long,com.netflix.servo.util.Clock)"
    - Src: "com.netflix.servo.monitor.MaxGauge:51,1"
      Dst: "[com.netflix.servo.SpectatorContext].maxGauge(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MaxGauge].updateMax(int,long)"
    functionSourceFile: "com.netflix.servo.monitor.MaxGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.util.concurrent.atomic.AtomicLong].compareAndSet(long,long)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.MaxGauge:60"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MaxGauge:66"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MaxGauge:65"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.MaxGauge:61"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MaxGauge:64"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MaxGauge:63"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MaxGauge:58,1"
      Dst: "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - Src: "com.netflix.servo.monitor.MaxGauge:59,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.servo.monitor.MaxGauge:61,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].compareAndSet(long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.monitor.MaxGauge].update(long)"
    functionSourceFile: "com.netflix.servo.monitor.MaxGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyGauge].set(double)"
    - "[com.netflix.servo.monitor.MaxGauge].updateMax(int,long)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.MaxGauge:73"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MaxGauge:75"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MaxGauge:72,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyGauge].set(double)"
    - Src: "com.netflix.servo.monitor.MaxGauge:74,1"
      Dst: "[com.netflix.servo.monitor.MaxGauge].updateMax(int,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.MaxGauge].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.MaxGauge"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionDepth: 2
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepLong].poll(int)"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MaxGauge:83,1"
      Dst: "[com.netflix.servo.monitor.StepLong].poll(int)"
    - Src: "com.netflix.servo.monitor.MaxGauge:83,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MaxGauge].getCurrentValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.MaxGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MaxGauge:90,1"
      Dst: "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - Src: "com.netflix.servo.monitor.MaxGauge:90,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MaxGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.MaxGauge"
    linkageType: ""
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.SpectatorContext$LazyGauge].setId(com.netflix.spectator.api.Id)"
    functionUses: 7
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MaxGauge:98,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.MaxGauge:98,1"
      Dst: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.MaxGauge:99,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyGauge].setId(com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MaxGauge].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.MaxGauge"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Long].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.MaxGauge].getValue(int)"
    functionUses: 42
    ICount: 21
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.MaxGauge:107"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MaxGauge:110"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MaxGauge:109"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.MaxGauge:110"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MaxGauge:111"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MaxGauge:110"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.MaxGauge:110"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MaxGauge:113"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MaxGauge:112"
        BranchSideFuncs:
        - "getValue(int)"
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.MaxGauge:114"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MaxGauge:112"
        BranchSideFuncs:
        - "getValue(int)"
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.MaxGauge:114"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MaxGauge:112"
        BranchSideFuncs:
        - "getValue(int)"
        - "equals(java.lang.Object)"
        - "getConfig()"
    Callsites:
    - Src: "com.netflix.servo.monitor.MaxGauge:114,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.MaxGauge:114,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.MaxGauge:114,1"
      Dst: "[com.netflix.servo.monitor.MaxGauge].getValue(int)"
    - Src: "com.netflix.servo.monitor.MaxGauge:114,1"
      Dst: "[java.lang.Long].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.MaxGauge].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.MaxGauge"
    linkageType: ""
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.netflix.servo.monitor.MaxGauge].getValue(int)"
    - "[java.lang.Long].hashCode()"
    functionUses: 42
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MaxGauge:122,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.MaxGauge:122,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.MaxGauge:123,1"
      Dst: "[com.netflix.servo.monitor.MaxGauge].getValue(int)"
    - Src: "com.netflix.servo.monitor.MaxGauge:123,1"
      Dst: "[java.lang.Long].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MaxGauge].toString()"
    functionSourceFile: "com.netflix.servo.monitor.MaxGauge"
    linkageType: ""
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 39
    ICount: 12
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MaxGauge:132,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.MaxGauge:132,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.MaxGauge:132,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.MaxGauge:132,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.MaxGauge:132,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Throwables].<init>()"
    functionSourceFile: "com.google.common.base.Throwables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Throwables:43,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Throwables].propagateIfPossible(java.lang.Throwable,java.lang.Class)"
    functionSourceFile: "com.google.common.base.Throwables"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Throwable"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Throwables].propagateIfInstanceOf(java.lang.Throwable,java.lang.Class)"
    - "[com.google.common.base.Throwables].propagateIfPossible(java.lang.Throwable)"
    functionUses: 2
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Throwables:108,1"
      Dst: "[com.google.common.base.Throwables].propagateIfInstanceOf(java.lang.Throwable,java.lang.Class)"
    - Src: "com.google.common.base.Throwables:109,1"
      Dst: "[com.google.common.base.Throwables].propagateIfPossible(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Throwable"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Throwables].propagateIfPossible(java.lang.Throwable,java.lang.Class,java.lang.Class)"
    functionSourceFile: "com.google.common.base.Throwables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Throwable"
    - "java.lang.Class"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.base.Throwables].propagateIfInstanceOf(java.lang.Throwable,java.lang.Class)"
    - "[com.google.common.base.Throwables].propagateIfPossible(java.lang.Throwable,java.lang.Class)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Throwables:129,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.base.Throwables:130,1"
      Dst: "[com.google.common.base.Throwables].propagateIfInstanceOf(java.lang.Throwable,java.lang.Class)"
    - Src: "com.google.common.base.Throwables:131,1"
      Dst: "[com.google.common.base.Throwables].propagateIfPossible(java.lang.Throwable,java.lang.Class)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Throwable"
      - "java.lang.Throwable"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Throwables].getRootCause(java.lang.Throwable)"
    functionSourceFile: "com.google.common.base.Throwables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Throwable"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Throwable].getCause()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.base.Throwables:174"
      Branch Sides:
      - BranchSide: "com.google.common.base.Throwables:177"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Throwables:176"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Throwables:174,1"
      Dst: "[java.lang.Throwable].getCause()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.base.Throwables].getCausalChain(java.lang.Throwable)"
    functionSourceFile: "com.google.common.base.Throwables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.lang.Throwable].getCause()"
    - "[java.util.Collections].unmodifiableList(java.util.List)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.base.Throwables:201"
      Branch Sides:
      - BranchSide: "com.google.common.base.Throwables:205"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Throwables:204"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Throwables:199,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.base.Throwables:200,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.google.common.base.Throwables:202,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.google.common.base.Throwables:203,1"
      Dst: "[java.lang.Throwable].getCause()"
    - Src: "com.google.common.base.Throwables:205,1"
      Dst: "[java.util.Collections].unmodifiableList(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.base.Throwables].getStackTraceAsString(java.lang.Throwable)"
    functionSourceFile: "com.google.common.base.Throwables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Throwable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.io.StringWriter].<init>()"
    - "[java.io.PrintWriter].<init>(java.io.Writer)"
    - "[java.lang.Throwable].printStackTrace(java.io.PrintWriter)"
    - "[java.io.StringWriter].toString()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Throwables:216,1"
      Dst: "[java.io.StringWriter].<init>()"
    - Src: "com.google.common.base.Throwables:217,1"
      Dst: "[java.io.PrintWriter].<init>(java.io.Writer)"
    - Src: "com.google.common.base.Throwables:217,1"
      Dst: "[java.lang.Throwable].printStackTrace(java.io.PrintWriter)"
    - Src: "com.google.common.base.Throwables:218,1"
      Dst: "[java.io.StringWriter].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.Preconditions].<init>()"
    functionSourceFile: "com.netflix.spectator.impl.Preconditions"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.impl.Preconditions:26,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    functionSourceFile: "com.netflix.spectator.impl.Preconditions"
    linkageType: ""
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    functionUses: 9
    ICount: 10
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.netflix.spectator.impl.Preconditions:33"
      Branch Sides:
      - BranchSide: "com.netflix.spectator.impl.Preconditions:37"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "<init>(java.lang.String)"
      - BranchSide: "com.netflix.spectator.impl.Preconditions:36"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.spectator.impl.Preconditions:34,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.netflix.spectator.impl.Preconditions:35,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.Preconditions].checkArg(boolean,java.lang.String)"
    functionSourceFile: "com.netflix.spectator.impl.Preconditions"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "boolean"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.spectator.impl.Preconditions:44"
      Branch Sides:
      - BranchSide: "com.netflix.spectator.impl.Preconditions:47"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.spectator.impl.Preconditions:46"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.spectator.impl.Preconditions:45,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.Preconditions].checkState(boolean,java.lang.String)"
    functionSourceFile: "com.netflix.spectator.impl.Preconditions"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "boolean"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.IllegalStateException].<init>(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.spectator.impl.Preconditions:53"
      Branch Sides:
      - BranchSide: "com.netflix.spectator.impl.Preconditions:56"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.spectator.impl.Preconditions:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.spectator.impl.Preconditions:54,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredCache].<init>(com.google.common.cache.Cache)"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredCache"
    linkageType: ""
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.google.common.cache.Cache"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.netflix.servo.monitor.MonitoredCache$stats__17].bootstrap$(com.google.common.cache.Cache)"
    - "[java.util.Objects].requireNonNull(java.lang.Object)"
    - "[com.netflix.servo.util.Memoizer].create(java.util.concurrent.Callable,long,java.util.concurrent.TimeUnit)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredCache:43,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.monitor.MonitoredCache:44,1"
      Dst: "[java.util.Objects].requireNonNull(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.MonitoredCache:44,1"
      Dst: "[com.netflix.servo.monitor.MonitoredCache$stats__17].bootstrap$(com.google.common.cache.Cache)"
    - Src: "com.netflix.servo.monitor.MonitoredCache:45,1"
      Dst: "[com.netflix.servo.util.Memoizer].create(java.util.concurrent.Callable,long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredCache].averageLoadPenalty()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredCache"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Memoizer].get()"
    - "[com.google.common.cache.CacheStats].averageLoadPenalty()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredCache:50,1"
      Dst: "[com.netflix.servo.util.Memoizer].get()"
    - Src: "com.netflix.servo.monitor.MonitoredCache:50,1"
      Dst: "[com.google.common.cache.CacheStats].averageLoadPenalty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.Memoizer].get()"
    functionSourceFile: "com.netflix.servo.util.Memoizer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].nanoTime()"
    - "[java.util.concurrent.Callable].call()"
    - "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    functionUses: 0
    ICount: 29
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.Memoizer:59"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Memoizer:60"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.Memoizer:59"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.Memoizer:59"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Memoizer:73"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.Memoizer:72"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.Memoizer:62"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Memoizer:71"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.Memoizer:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.Memoizer:56,1"
      Dst: "[java.lang.System].nanoTime()"
    - Src: "com.netflix.servo.util.Memoizer:65,1"
      Dst: "[java.util.concurrent.Callable].call()"
    - Src: "com.netflix.servo.util.Memoizer:68,1"
      Dst: "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.MonitoredCache].evictionCount()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredCache"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Memoizer].get()"
    - "[com.google.common.cache.CacheStats].evictionCount()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredCache:55,1"
      Dst: "[com.netflix.servo.util.Memoizer].get()"
    - Src: "com.netflix.servo.monitor.MonitoredCache:55,1"
      Dst: "[com.google.common.cache.CacheStats].evictionCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredCache].hitCount()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredCache"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Memoizer].get()"
    - "[com.google.common.cache.CacheStats].hitCount()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredCache:60,1"
      Dst: "[com.netflix.servo.util.Memoizer].get()"
    - Src: "com.netflix.servo.monitor.MonitoredCache:60,1"
      Dst: "[com.google.common.cache.CacheStats].hitCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredCache].loadCount()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredCache"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Memoizer].get()"
    - "[com.google.common.cache.CacheStats].loadCount()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredCache:65,1"
      Dst: "[com.netflix.servo.util.Memoizer].get()"
    - Src: "com.netflix.servo.monitor.MonitoredCache:65,1"
      Dst: "[com.google.common.cache.CacheStats].loadCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredCache].loadExceptionCount()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredCache"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Memoizer].get()"
    - "[com.google.common.cache.CacheStats].loadExceptionCount()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredCache:70,1"
      Dst: "[com.netflix.servo.util.Memoizer].get()"
    - Src: "com.netflix.servo.monitor.MonitoredCache:70,1"
      Dst: "[com.google.common.cache.CacheStats].loadExceptionCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredCache].loadSuccessCount()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredCache"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Memoizer].get()"
    - "[com.google.common.cache.CacheStats].loadSuccessCount()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredCache:75,1"
      Dst: "[com.netflix.servo.util.Memoizer].get()"
    - Src: "com.netflix.servo.monitor.MonitoredCache:75,1"
      Dst: "[com.google.common.cache.CacheStats].loadSuccessCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredCache].missCount()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredCache"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Memoizer].get()"
    - "[com.google.common.cache.CacheStats].missCount()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredCache:80,1"
      Dst: "[com.netflix.servo.util.Memoizer].get()"
    - Src: "com.netflix.servo.monitor.MonitoredCache:80,1"
      Dst: "[com.google.common.cache.CacheStats].missCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredCache].requestCount()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredCache"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Memoizer].get()"
    - "[com.google.common.cache.CacheStats].requestCount()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredCache:85,1"
      Dst: "[com.netflix.servo.util.Memoizer].get()"
    - Src: "com.netflix.servo.monitor.MonitoredCache:85,1"
      Dst: "[com.google.common.cache.CacheStats].requestCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredCache].totalLoadTime()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredCache"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Memoizer].get()"
    - "[com.google.common.cache.CacheStats].totalLoadTime()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredCache:90,1"
      Dst: "[com.netflix.servo.util.Memoizer].get()"
    - Src: "com.netflix.servo.monitor.MonitoredCache:90,1"
      Dst: "[com.google.common.cache.CacheStats].totalLoadTime()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MonitorConfig].getPublishingPolicy()"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withPublishingPolicy(com.netflix.servo.monitor.PublishingPolicy)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:48,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:48,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:49,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:49,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:50,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getPublishingPolicy()"
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:50,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withPublishingPolicy(com.netflix.servo.monitor.PublishingPolicy)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTag(java.lang.String,java.lang.String)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig$Builder"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionDepth: 4
    returnType: "com.netflix.servo.monitor.MonitorConfig$Builder"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    functionUses: 34
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:64,1"
      Dst: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:64,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(java.util.Collection)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.netflix.servo.monitor.MonitorConfig$Builder"
    argCount: 1
    argTypes:
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap$Builder].addAll(java.lang.Iterable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:92,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].addAll(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.SmallTagMap$Builder)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.monitor.MonitorConfig$Builder"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.SmallTagMap$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig$Builder].getName()"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig$Builder].getTags()"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    - "[com.netflix.servo.util.UnmodifiableList].copyOf(java.lang.Iterable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:130,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    - Src: "com.netflix.servo.monitor.MonitorConfig$Builder:130,1"
      Dst: "[com.netflix.servo.util.UnmodifiableList].copyOf(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorConfig$Builder].getPublishingPolicy()"
    functionSourceFile: "com.netflix.servo.monitor.MonitorConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.monitor.PublishingPolicy"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.StandardTagKeys].values()"
    functionSourceFile: "com.netflix.servo.tag.StandardTagKeys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.tag.StandardTagKeys[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.StandardTagKeys:21,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.StandardTagKeys].valueOf(java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.StandardTagKeys"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.tag.StandardTagKeys"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.StandardTagKeys:21,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.StandardTagKeys].<init>(java.lang.String,int,java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.StandardTagKeys"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.StandardTagKeys:34,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.StandardTagKeys].getKeyName()"
    functionSourceFile: "com.netflix.servo.tag.StandardTagKeys"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.StandardTagKeys].$values()"
    functionSourceFile: "com.netflix.servo.tag.StandardTagKeys"
    linkageType: ""
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionDepth: 0
    returnType: "com.netflix.servo.tag.StandardTagKeys[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper$ValueHolder].<init>()"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper$ValueHolder"
    linkageType: ""
    functionLinenumber: 423
    functionLinenumberEnd: 425
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper$ValueHolder:424,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper$ValueHolder].<init>(com.google.common.base.Objects$1)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper$ValueHolder"
    linkageType: ""
    functionLinenumber: 423
    functionLinenumberEnd: 425
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.google.common.base.Objects$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Objects$ToStringHelper$ValueHolder].<init>()"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper$ValueHolder:424,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper$ValueHolder].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor].<init>(com.netflix.servo.publish.AsyncMetricObserver)"
    functionSourceFile: "com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.publish.AsyncMetricObserver"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor:156,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor].run()"
    functionSourceFile: "com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor"
    linkageType: ""
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.AsyncMetricObserver].access$100(com.netflix.servo.publish.AsyncMetricObserver)"
    - "[com.netflix.servo.publish.AsyncMetricObserver].access$200(com.netflix.servo.publish.AsyncMetricObserver)"
    functionUses: 28
    ICount: 8
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor:158"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor:161"
        BranchSideFuncs:
        - "access$200(com.netflix.servo.publish.AsyncMetricObserver)"
      - BranchSide: "com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor:160"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor:158,1"
      Dst: "[com.netflix.servo.publish.AsyncMetricObserver].access$100(com.netflix.servo.publish.AsyncMetricObserver)"
    - Src: "com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor:159,1"
      Dst: "[com.netflix.servo.publish.AsyncMetricObserver].access$200(com.netflix.servo.publish.AsyncMetricObserver)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor].<init>(com.netflix.servo.publish.AsyncMetricObserver,com.netflix.servo.publish.AsyncMetricObserver$1)"
    functionSourceFile: "com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.publish.AsyncMetricObserver"
    - "com.netflix.servo.publish.AsyncMetricObserver$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor].<init>(com.netflix.servo.publish.AsyncMetricObserver)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor:156,1"
      Dst: "[com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor].<init>(com.netflix.servo.publish.AsyncMetricObserver)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.ThreadLocalTaggingContext].getInstance()"
    functionSourceFile: "com.netflix.servo.tag.ThreadLocalTaggingContext"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.tag.ThreadLocalTaggingContext"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.ThreadLocalTaggingContext].<init>()"
    functionSourceFile: "com.netflix.servo.tag.ThreadLocalTaggingContext"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.ThreadLocal].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.ThreadLocalTaggingContext:37,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.tag.ThreadLocalTaggingContext:26,1"
      Dst: "[java.lang.ThreadLocal].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.ThreadLocalTaggingContext].setTags(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.tag.ThreadLocalTaggingContext"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].set(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.ThreadLocalTaggingContext:44,1"
      Dst: "[java.lang.ThreadLocal].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.ThreadLocalTaggingContext].getTags()"
    functionSourceFile: "com.netflix.servo.tag.ThreadLocalTaggingContext"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionDepth: 0
    returnType: "com.netflix.servo.tag.TagList"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].get()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.ThreadLocalTaggingContext:52,1"
      Dst: "[java.lang.ThreadLocal].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.ThreadLocalTaggingContext].reset()"
    functionSourceFile: "com.netflix.servo.tag.ThreadLocalTaggingContext"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ThreadLocal].remove()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.ThreadLocalTaggingContext:59,1"
      Dst: "[java.lang.ThreadLocal].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicGauge].<init>()"
    functionSourceFile: "com.netflix.servo.monitor.DynamicGauge"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - "[java.lang.Long].parseLong(java.lang.String)"
    - "[com.netflix.servo.NoopMonitorRegistry:java.util.concurrent.TimeUnit].valueOf(java.lang.String)"
    - "[com.google.common.cache.CacheBuilder].newBuilder()"
    - "[com.netflix.servo.monitor.DynamicGauge$1].<init>(com.netflix.servo.monitor.DynamicGauge)"
    - "[com.google.common.cache.CacheBuilder].expireAfterAccess(long,java.util.concurrent.TimeUnit)"
    - "[com.google.common.cache.CacheBuilder].build(com.google.common.cache.CacheLoader)"
    - "[com.netflix.servo.monitor.Monitors].newCacheMonitor(java.lang.String,com.google.common.cache.Cache)"
    - "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    - "[com.netflix.servo.jmx.JmxMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.DefaultMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.BasicMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[java.util.concurrent.TimeUnit].valueOf(java.lang.String)"
    - "[com.netflix.servo.MonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    functionUses: 1
    ICount: 20
    EdgeCount: 14
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicGauge:54,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.monitor.DynamicGauge:55,1"
      Dst: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:57,1"
      Dst: "[java.lang.Long].parseLong(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:58,1"
      Dst: "[java.util.concurrent.TimeUnit].valueOf(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:60,1"
      Dst: "[com.google.common.cache.CacheBuilder].newBuilder()"
    - Src: "com.netflix.servo.monitor.DynamicGauge:61,1"
      Dst: "[com.google.common.cache.CacheBuilder].expireAfterAccess(long,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:61,1"
      Dst: "[com.netflix.servo.monitor.DynamicGauge$1].<init>(com.netflix.servo.monitor.DynamicGauge)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:62,1"
      Dst: "[com.google.common.cache.CacheBuilder].build(com.google.common.cache.CacheLoader)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:68,1"
      Dst: "[com.netflix.servo.monitor.Monitors].newCacheMonitor(java.lang.String,com.google.common.cache.Cache)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:69,1"
      Dst: "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    - Src: "com.netflix.servo.monitor.DynamicGauge:69,1"
      Dst: "[com.netflix.servo.MonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicGauge"
    linkageType: ""
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicGauge].set(com.netflix.servo.monitor.MonitorConfig,double)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DynamicGauge].get(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.lang.Double].valueOf(double)"
    - "[com.netflix.servo.monitor.DoubleGauge].set(java.lang.Double)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicGauge:86,1"
      Dst: "[com.netflix.servo.monitor.DynamicGauge].get(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:86,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:86,1"
      Dst: "[com.netflix.servo.monitor.DoubleGauge].set(java.lang.Double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicGauge].get(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "com.netflix.servo.monitor.DoubleGauge"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.cache.LoadingCache].get(java.lang.Object)"
    - "[java.lang.Throwable].getMessage()"
    - "[org.slf4j.Logger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[com.google.common.base.Throwables].propagate(java.lang.Throwable)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicGauge:106,1"
      Dst: "[com.google.common.cache.LoadingCache].get(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:108,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.netflix.servo.monitor.DynamicGauge:108,1"
      Dst: "[org.slf4j.Logger].error(java.lang.String,java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:109,1"
      Dst: "[com.google.common.base.Throwables].propagate(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicGauge].set(java.lang.String,double)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.DynamicGauge].set(com.netflix.servo.monitor.MonitorConfig,double)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicGauge:93,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:93,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.monitor.DynamicGauge:93,1"
      Dst: "[com.netflix.servo.monitor.DynamicGauge].set(com.netflix.servo.monitor.MonitorConfig,double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicGauge].set(java.lang.String,com.netflix.servo.tag.TagList,double)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.tag.TagList"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.DynamicGauge].set(com.netflix.servo.monitor.MonitorConfig,double)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicGauge:100,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:100,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:100,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.monitor.DynamicGauge:101,1"
      Dst: "[com.netflix.servo.monitor.DynamicGauge].set(com.netflix.servo.monitor.MonitorConfig,double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicGauge].getMonitors()"
    functionSourceFile: "com.netflix.servo.monitor.DynamicGauge"
    linkageType: ""
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.cache.AbstractCache].asMap()"
    - "[com.google.common.cache.ForwardingCache].asMap()"
    - "[com.google.common.cache.LocalCache$LocalManualCache].asMap()"
    - "[com.google.common.collect.ImmutableList].copyOf(java.util.Collection)"
    - "[com.google.common.collect.MapMakerInternalMap].values()"
    - "[com.google.common.cache.LocalCache].values()"
    - "[com.google.common.collect.ForwardingMap].values()"
    - "[java.util.AbstractMap:java.util.concurrent.ConcurrentHashMap].values()"
    - "[com.google.common.cache.LoadingCache].asMap()"
    - "[java.util.Map].values()"
    functionUses: 5
    ICount: 6
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicGauge:118,1"
      Dst: "[com.google.common.cache.LoadingCache].asMap()"
    - Src: "com.netflix.servo.monitor.DynamicGauge:119,1"
      Dst: "[java.util.Map].values()"
    - Src: "com.netflix.servo.monitor.DynamicGauge:119,1"
      Dst: "[com.google.common.collect.ImmutableList].copyOf(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicGauge].getValue()"
    functionSourceFile: "com.netflix.servo.monitor.DynamicGauge"
    linkageType: ""
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionDepth: 0
    returnType: "java.lang.Long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.cache.AbstractCache].asMap()"
    - "[com.google.common.cache.ForwardingCache].asMap()"
    - "[com.google.common.cache.LocalCache$LocalManualCache:java.util.AbstractMap:java.util.concurrent.ConcurrentHashMap].asMap()"
    - "[com.google.common.cache.LocalCache].size()"
    - "[com.google.common.collect.ForwardingMap].size()"
    - "[com.google.common.collect.MapMakerInternalMap].size()"
    - "[java.lang.Long].valueOf(long)"
    - "[com.google.common.cache.LoadingCache].asMap()"
    - "[java.util.Map].size()"
    functionUses: 6
    ICount: 7
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicGauge:127,1"
      Dst: "[com.google.common.cache.LoadingCache].asMap()"
    - Src: "com.netflix.servo.monitor.DynamicGauge:127,1"
      Dst: "[java.util.Map].size()"
    - Src: "com.netflix.servo.monitor.DynamicGauge:127,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicGauge].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicGauge"
    linkageType: ""
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionDepth: 1
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DynamicGauge].getValue()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicGauge:132,1"
      Dst: "[com.netflix.servo.monitor.DynamicGauge].getValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicGauge].getConfig()"
    functionSourceFile: "com.netflix.servo.monitor.DynamicGauge"
    linkageType: ""
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionDepth: 0
    returnType: "com.netflix.servo.monitor.MonitorConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 20
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicGauge].toString()"
    functionSourceFile: "com.netflix.servo.monitor.DynamicGauge"
    linkageType: ""
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.cache.AbstractCache].asMap()"
    - "[com.google.common.cache.ForwardingCache].asMap()"
    - "[com.google.common.cache.LocalCache$LocalManualCache].asMap()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(int)"
    - "[com.google.common.cache.LocalCache].size()"
    - "[com.google.common.collect.ForwardingMap].size()"
    - "[com.google.common.collect.MapMakerInternalMap].size()"
    - "[java.util.concurrent.ConcurrentHashMap].size()"
    - "[java.util.AbstractMap].size()"
    - "[java.lang.StringBuilder].toString()"
    - "[com.google.common.cache.LoadingCache].asMap()"
    - "[java.util.Map].size()"
    functionUses: 39
    ICount: 16
    EdgeCount: 17
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicGauge:145,1"
      Dst: "[com.google.common.cache.LoadingCache].asMap()"
    - Src: "com.netflix.servo.monitor.DynamicGauge:146,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.DynamicGauge:146,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:146,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:148,1"
      Dst: "[java.util.Map].size()"
    - Src: "com.netflix.servo.monitor.DynamicGauge:148,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:148,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.DynamicGauge:148,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller$MetricList].<init>(com.netflix.servo.publish.MetricFilter)"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller$MetricList"
    linkageType: ""
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.publish.MetricFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.ArrayList].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller$MetricList:424,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller$MetricList:426,1"
      Dst: "[java.util.ArrayList].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller$MetricList"
    linkageType: ""
    functionLinenumber: 429
    functionLinenumberEnd: 434
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.Metric"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.Metric].getConfig()"
    - "[com.netflix.servo.publish.RegexMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.publish.PrefixMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.publish.BasicMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.google.common.collect.ImmutableCollection].add(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].add(java.lang.Object)"
    - "[sun.awt.util.IdentityArrayList].add(java.lang.Object)"
    - "[javax.management.AttributeList].add(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].add(java.lang.Object)"
    - "[java.util.AbstractList].add(java.lang.Object)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[com.google.common.collect.ForwardingCollection].add(java.lang.Object)"
    - "[java.util.Vector].add(java.lang.Object)"
    - "[java.util.LinkedList].add(java.lang.Object)"
    - "[com.google.common.collect.FilteredKeyMultimap$AddRejectingList].add(java.lang.Object)"
    - "[com.google.common.collect.Constraints$ConstrainedList].add(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArrayList].add(java.lang.Object)"
    - "[com.netflix.servo.publish.MetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 20
    ICount: 9
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.JvmMetricPoller$MetricList:430"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller$MetricList:433"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller$MetricList:432"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller$MetricList:430,1"
      Dst: "[com.netflix.servo.Metric].getConfig()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller$MetricList:430,1"
      Dst: "[com.netflix.servo.publish.MetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller$MetricList:431,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller$MetricList].getList()"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller$MetricList"
    linkageType: ""
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer].<init>()"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - "[java.lang.Long].parseLong(java.lang.String)"
    - "[java.util.concurrent.TimeUnit].valueOf(java.lang.String)"
    - "[com.netflix.servo.NoopMonitorRegistry:java.util.concurrent.TimeUnit].toMillis(long)"
    - "[com.netflix.servo.util.ExpiringCache].<init>(long,java.util.function.Function)"
    - "[com.netflix.servo.monitor.DynamicTimer$newTimer__7].bootstrap$(com.netflix.servo.monitor.DynamicTimer)"
    - "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    - "[com.netflix.servo.jmx.JmxMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.DefaultMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.BasicMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[java.util.concurrent.TimeUnit].toMillis(long)"
    - "[com.netflix.servo.MonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    functionUses: 1
    ICount: 17
    EdgeCount: 12
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer:84,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:85,1"
      Dst: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:88,1"
      Dst: "[java.lang.Long].parseLong(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:89,1"
      Dst: "[java.util.concurrent.TimeUnit].valueOf(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:90,1"
      Dst: "[java.util.concurrent.TimeUnit].toMillis(long)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:91,1"
      Dst: "[com.netflix.servo.monitor.DynamicTimer$newTimer__7].bootstrap$(com.netflix.servo.monitor.DynamicTimer)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:91,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].<init>(long,java.util.function.Function)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:92,1"
      Dst: "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    - Src: "com.netflix.servo.monitor.DynamicTimer:92,1"
      Dst: "[com.netflix.servo.MonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer].newTimer(com.netflix.servo.monitor.DynamicTimer$ConfigUnit)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer"
    linkageType: ""
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionDepth: 10
    returnType: "com.netflix.servo.monitor.BasicTimer"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.DynamicTimer$ConfigUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BasicTimer].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].access$000(com.netflix.servo.monitor.DynamicTimer$ConfigUnit)"
    - "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].access$100(com.netflix.servo.monitor.DynamicTimer$ConfigUnit)"
    functionUses: 1
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer:96,1"
      Dst: "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].access$000(com.netflix.servo.monitor.DynamicTimer$ConfigUnit)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:96,1"
      Dst: "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].access$100(com.netflix.servo.monitor.DynamicTimer$ConfigUnit)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:96,1"
      Dst: "[com.netflix.servo.monitor.BasicTimer].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].access$000(com.netflix.servo.monitor.DynamicTimer$ConfigUnit)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "com.netflix.servo.monitor.MonitorConfig"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.DynamicTimer$ConfigUnit"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].access$100(com.netflix.servo.monitor.DynamicTimer$ConfigUnit)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "java.util.concurrent.TimeUnit"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.DynamicTimer$ConfigUnit"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicTimer].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionDepth: 9
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BasicTimer].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit,com.netflix.servo.util.Clock)"
    functionUses: 2
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicTimer:83,1"
      Dst: "[com.netflix.servo.monitor.BasicTimer].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicTimer].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionDepth: 8
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "java.util.concurrent.TimeUnit"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.lang.Enum].name()"
    - "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[java.util.concurrent.TimeUnit].toNanos(long)"
    - "[com.netflix.servo.monitor.DoubleCounter].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    - "[com.netflix.servo.monitor.StepCounter].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    - "[com.netflix.servo.util.UnmodifiableList].of(java.lang.Object[])"
    functionUses: 1
    ICount: 46
    EdgeCount: 14
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicTimer:64,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.BasicTimer:66,1"
      Dst: "[java.lang.Enum].name()"
    - Src: "com.netflix.servo.monitor.BasicTimer:66,1"
      Dst: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.monitor.BasicTimer:67,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.BasicTimer:69,1"
      Dst: "[java.util.concurrent.TimeUnit].toNanos(long)"
    - Src: "com.netflix.servo.monitor.BasicTimer:71,1"
      Dst: "[com.netflix.servo.monitor.DoubleCounter].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    - Src: "com.netflix.servo.monitor.BasicTimer:72,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    - Src: "com.netflix.servo.monitor.BasicTimer:74,1"
      Dst: "[com.netflix.servo.monitor.DoubleMaxGauge].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    - Src: "com.netflix.servo.monitor.BasicTimer:76,1"
      Dst: "[com.netflix.servo.util.UnmodifiableList].of(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleMaxGauge].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleMaxGauge"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.StepLong].<init>(long,com.netflix.servo.util.Clock)"
    - "[java.lang.Double].doubleToLongBits(double)"
    - "[com.netflix.servo.SpectatorContext].maxGauge(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 1
    ICount: 14
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:49,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:49,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:51,1"
      Dst: "[java.lang.Double].doubleToLongBits(double)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:51,1"
      Dst: "[com.netflix.servo.monitor.StepLong].<init>(long,com.netflix.servo.util.Clock)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:52,1"
      Dst: "[com.netflix.servo.SpectatorContext].maxGauge(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext].maxGauge(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionDepth: 2
    returnType: "com.netflix.servo.SpectatorContext$LazyGauge"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyGauge].<init>(java.util.function.BiFunction,com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    - "[com.netflix.servo.SpectatorContext$maxGauge__47].bootstrap$()"
    - "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 1
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:120,1"
      Dst: "[com.netflix.servo.SpectatorContext$maxGauge__47].bootstrap$()"
    - Src: "com.netflix.servo.SpectatorContext:120,1"
      Dst: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.SpectatorContext:120,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyGauge].<init>(java.util.function.BiFunction,com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.UnmodifiableList].of(java.lang.Object[])"
    functionSourceFile: "com.netflix.servo.util.UnmodifiableList"
    linkageType: ""
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[java.util.Arrays:java.util.Collections].asList(java.lang.Object[])"
    - "[java.util.Collections].unmodifiableList(java.util.List)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    functionUses: 3
    ICount: 5
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.UnmodifiableList:41,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.util.UnmodifiableList:42,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "com.netflix.servo.util.UnmodifiableList:42,1"
      Dst: "[java.util.Collections].unmodifiableList(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer"
    linkageType: ""
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "com.netflix.servo.monitor.Timer"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.util.ExpiringCache].get(java.lang.Object)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer:107,1"
      Dst: "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:107,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:48,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer].start(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.netflix.servo.monitor.Stopwatch"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.monitor.Timer].start()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer:121,1"
      Dst: "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:121,1"
      Dst: "[com.netflix.servo.monitor.Timer].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer].start(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.netflix.servo.monitor.Stopwatch"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.monitor.Timer].start()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer:132,1"
      Dst: "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:132,1"
      Dst: "[com.netflix.servo.monitor.Timer].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer].record(com.netflix.servo.monitor.MonitorConfig,long)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.monitor.Timer].record(long,java.util.concurrent.TimeUnit)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer:140,1"
      Dst: "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:140,1"
      Dst: "[com.netflix.servo.monitor.Timer].record(long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer].record(com.netflix.servo.monitor.MonitorConfig,long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.monitor.Timer].record(long,java.util.concurrent.TimeUnit)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer:153,1"
      Dst: "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:153,1"
      Dst: "[com.netflix.servo.monitor.Timer].record(long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer].record(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit,long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "java.util.concurrent.TimeUnit"
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.monitor.Timer].record(long,java.util.concurrent.TimeUnit)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer:172,1"
      Dst: "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:172,1"
      Dst: "[com.netflix.servo.monitor.Timer].record(long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer].start(java.lang.String,java.lang.String[])"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "com.netflix.servo.monitor.Stopwatch"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.monitor.Timer].start()"
    functionUses: 0
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.DynamicTimer:182"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DynamicTimer:181"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DynamicTimer:180"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.DynamicTimer:184"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DynamicTimer:187"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer:181,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:182,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:185,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:188,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.monitor.DynamicTimer:188,1"
      Dst: "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:188,1"
      Dst: "[com.netflix.servo.monitor.Timer].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.monitor.DynamicTimer].start(java.lang.String,com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "com.netflix.servo.monitor.Stopwatch"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.monitor.Timer].start()"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer:197,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:197,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:197,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.monitor.DynamicTimer:198,1"
      Dst: "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:198,1"
      Dst: "[com.netflix.servo.monitor.Timer].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer].start(java.lang.String,com.netflix.servo.tag.TagList,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "com.netflix.servo.monitor.Stopwatch"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.tag.TagList"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.monitor.Timer].start()"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer:207,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:207,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:207,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.monitor.DynamicTimer:208,1"
      Dst: "[com.netflix.servo.monitor.DynamicTimer].get(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:208,1"
      Dst: "[com.netflix.servo.monitor.Timer].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer].getMonitors()"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer"
    linkageType: ""
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionDepth: 3
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache].values()"
    functionUses: 5
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer:217,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].values()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer"
    linkageType: ""
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionDepth: 1
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache].size()"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 2
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer:226,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].size()"
    - Src: "com.netflix.servo.monitor.DynamicTimer:226,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer].toString()"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer"
    linkageType: ""
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(int)"
    - "[com.netflix.servo.util.ExpiringCache].size()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 39
    ICount: 16
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer:234,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.DynamicTimer:234,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:234,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:235,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].size()"
    - Src: "com.netflix.servo.monitor.DynamicTimer:235,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:235,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.DynamicTimer:235,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable].run()"
    functionSourceFile: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable"
    linkageType: ""
    functionLinenumber: 415
    functionLinenumberEnd: 431
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadCpuStats].access$400(com.netflix.servo.util.ThreadCpuStats)"
    - "[java.lang.System].currentTimeMillis()"
    - "[com.netflix.servo.util.ThreadCpuStats].access$500(com.netflix.servo.util.ThreadCpuStats)"
    - "[com.netflix.servo.util.ThreadCpuStats].access$600()"
    - "[java.lang.Long].valueOf(long)"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.NOPLogger].warn(java.lang.String,java.lang.Object)"
    - "[java.lang.Thread].sleep(long)"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.helpers.NOPLogger].warn(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object)"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Throwable)"
    functionUses: 28
    ICount: 29
    EdgeCount: 14
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:416"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:429"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:421"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:424"
        BranchSideFuncs:
        - "warn(java.lang.String,java.lang.Object)"
        - "valueOf(long)"
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:423"
        BranchSideFuncs:
        - "sleep(long)"
    - Branch String: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:425"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:424"
        BranchSideFuncs:
        - "warn(java.lang.String,java.lang.Throwable)"
        - "sleep(long)"
        - "access$600()"
      - BranchSide: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:423"
        BranchSideFuncs:
        - "sleep(long)"
    Callsites:
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:416,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats].access$400(com.netflix.servo.util.ThreadCpuStats)"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:418,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:419,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats].access$500(com.netflix.servo.util.ThreadCpuStats)"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:422,1"
      Dst: "[com.netflix.servo.util.ThreadCpuStats].access$600()"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:422,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:422,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object)"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:425,1"
      Dst: "[java.lang.Thread].sleep(long)"
    - Src: "com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable:427,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.google.common.collect.Iterables$10$1].hasNext()"
    functionSourceFile: "com.google.common.collect.Iterables$10$1"
    linkageType: ""
    functionLinenumber: 872
    functionLinenumberEnd: 874
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[java.util.Iterator].hasNext()"
    functionUses: 431
    ICount: 4
    EdgeCount: 69
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$10$1:873,1"
      Dst: "[java.util.Iterator].hasNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$10$1].next()"
    functionSourceFile: "com.google.common.collect.Iterables$10$1"
    linkageType: ""
    functionLinenumber: 877
    functionLinenumberEnd: 881
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[java.util.Iterator].next()"
    functionUses: 414
    ICount: 5
    EdgeCount: 78
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$10$1:878,1"
      Dst: "[java.util.Iterator].next()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$10$1].remove()"
    functionSourceFile: "com.google.common.collect.Iterables$10$1"
    linkageType: ""
    functionLinenumber: 884
    functionLinenumberEnd: 888
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.CollectPreconditions].checkRemove(boolean)"
    - "[com.google.common.collect.StandardTable$CellIterator].remove()"
    - "[org.testng.internal.ArrayIterator].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].remove()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].remove()"
    - "[com.google.common.collect.Iterators$PeekingImpl].remove()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].remove()"
    - "[com.google.common.collect.Iterables$10$1].remove()"
    - "[com.google.common.collect.TreeMultiset$2].remove()"
    - "[org.yaml.snakeyaml.Loader$3].remove()"
    - "[com.google.common.collect.HashBiMap$Itr].remove()"
    - "[com.google.common.collect.Iterators$9].remove()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].remove()"
    - "[com.google.common.collect.Lists$ReverseList$1].remove()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].remove()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].remove()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].remove()"
    - "[com.netflix.spectator.api.FilteredIterator].remove()"
    - "[com.google.common.base.Converter$1$1].remove()"
    - "[java.util.Iterator].remove()"
    - "[com.google.common.collect.ForwardingIterator].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].remove()"
    - "[com.google.common.base.AbstractIterator].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].remove()"
    - "[com.google.common.collect.TransformedIterator].remove()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].remove()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].remove()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].remove()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].remove()"
    - "[org.yaml.snakeyaml.Loader$2].remove()"
    - "[com.google.common.cache.LocalCache$HashIterator].remove()"
    - "[com.google.common.collect.LinkedHashMultimap$1].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].remove()"
    - "[com.google.common.collect.Iterators$5].remove()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].remove()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].remove()"
    - "[org.yaml.snakeyaml.Loader$1].remove()"
    - "[com.google.common.collect.Iterators$2].remove()"
    - "[com.google.common.collect.TreeMultiset$3].remove()"
    - "[com.google.common.collect.UnmodifiableIterator].remove()"
    - "[com.google.common.collect.Iterators$4].remove()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].remove()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].remove()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].remove()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].remove()"
    functionUses: 39
    ICount: 10
    EdgeCount: 47
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables$10$1:885"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables$10$1:885"
        BranchSideFuncs:
        - "checkRemove(boolean)"
        - "remove()"
      - BranchSide: "com.google.common.collect.Iterables$10$1:884"
        BranchSideFuncs:
        - "checkRemove(boolean)"
    Callsites:
    - Src: "com.google.common.collect.Iterables$10$1:885,1"
      Dst: "[com.google.common.collect.CollectPreconditions].checkRemove(boolean)"
    - Src: "com.google.common.collect.Iterables$10$1:886,1"
      Dst: "[java.util.Iterator].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.SmallTagMap$Builder$lambda_result_0__2].compare(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$Builder$lambda_result_0__2"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap$Builder].lambda$result$0(com.netflix.servo.tag.Tag,com.netflix.servo.tag.Tag)"
    functionUses: 42
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder$lambda_result_0__2:-1,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].lambda$result$0(com.netflix.servo.tag.Tag,com.netflix.servo.tag.Tag)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap$Builder].lambda$result$0(com.netflix.servo.tag.Tag,com.netflix.servo.tag.Tag)"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$Builder"
    linkageType: ""
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "com.netflix.servo.tag.Tag"
    - "com.netflix.servo.tag.Tag"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].compareTo(java.lang.String)"
    - "[com.netflix.servo.tag.InjectableTag].getKey()"
    - "[com.netflix.servo.annotations.DataSourceType].getKey()"
    - "[com.netflix.servo.tag.BasicTag].getKey()"
    - "[com.netflix.servo.annotations.DataSourceLevel].getKey()"
    - "[com.netflix.servo.annotations.DataSourceLevel].getValue()"
    - "[com.netflix.servo.tag.BasicTag].getValue()"
    - "[com.netflix.servo.annotations.DataSourceType].getValue()"
    - "[com.netflix.servo.tag.InjectableTag].getValue()"
    - "[com.netflix.servo.tag.Tag].getKey()"
    - "[com.netflix.servo.tag.Tag].getValue()"
    functionUses: 1
    ICount: 11
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SmallTagMap$Builder:166"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:169"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$Builder:168"
        BranchSideFuncs:
        - "getValue()"
        - "compareTo(java.lang.String)"
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:165,1"
      Dst: "[com.netflix.servo.tag.Tag].getKey()"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:165,1"
      Dst: "[java.lang.String].compareTo(java.lang.String)"
    - Src: "com.netflix.servo.tag.SmallTagMap$Builder:169,1"
      Dst: "[com.netflix.servo.tag.Tag].getValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicDistributionSummary].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.BasicDistributionSummary"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.StepCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MaxGauge].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MinGauge].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.util.UnmodifiableList].of(java.lang.Object[])"
    functionUses: 0
    ICount: 35
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:50,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:52,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:52,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:54,1"
      Dst: "[com.netflix.servo.monitor.MaxGauge].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:55,1"
      Dst: "[com.netflix.servo.monitor.MinGauge].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:57,1"
      Dst: "[com.netflix.servo.util.UnmodifiableList].of(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicDistributionSummary].getMonitors()"
    functionSourceFile: "com.netflix.servo.monitor.BasicDistributionSummary"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicDistributionSummary].record(long)"
    functionSourceFile: "com.netflix.servo.monitor.BasicDistributionSummary"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepCounter].increment(long)"
    - "[com.netflix.servo.monitor.StepCounter].increment()"
    - "[com.netflix.servo.monitor.MaxGauge].update(long)"
    - "[com.netflix.servo.monitor.MinGauge].update(long)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BasicDistributionSummary:72"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:78"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:77"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:73,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].increment(long)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:74,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].increment()"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:75,1"
      Dst: "[com.netflix.servo.monitor.MaxGauge].update(long)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:76,1"
      Dst: "[com.netflix.servo.monitor.MinGauge].update(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.MinGauge].update(long)"
    functionSourceFile: "com.netflix.servo.monitor.MinGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MinGauge].updateMin(int,long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.MinGauge:63"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MinGauge:65"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MinGauge:64,1"
      Dst: "[com.netflix.servo.monitor.MinGauge].updateMin(int,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.MinGauge].updateMin(int,long)"
    functionSourceFile: "com.netflix.servo.monitor.MinGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.util.concurrent.atomic.AtomicLong].compareAndSet(long,long)"
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.MinGauge:51"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MinGauge:57"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MinGauge:56"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.MinGauge:52"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MinGauge:55"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MinGauge:54"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MinGauge:49,1"
      Dst: "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - Src: "com.netflix.servo.monitor.MinGauge:50,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.servo.monitor.MinGauge:52,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].compareAndSet(long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.monitor.BasicDistributionSummary].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.BasicDistributionSummary"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionDepth: 3
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepCounter].getCurrentCount(int)"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 2
    ICount: 17
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BasicDistributionSummary:88"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:84"
        BranchSideFuncs:
        - "getCurrentCount(int)"
        - "valueOf(long)"
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:85,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].getCurrentCount(int)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:88,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.BasicDistributionSummary].getTotalAmount()"
    functionSourceFile: "com.netflix.servo.monitor.BasicDistributionSummary"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.lang.Long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepCounter].getCurrentCount(int)"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:95,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].getCurrentCount(int)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:95,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicDistributionSummary].getCount()"
    functionSourceFile: "com.netflix.servo.monitor.BasicDistributionSummary"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.lang.Long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepCounter].getCurrentCount(int)"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:102,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].getCurrentCount(int)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:102,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicDistributionSummary].getMin()"
    functionSourceFile: "com.netflix.servo.monitor.BasicDistributionSummary"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.lang.Long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MinGauge].getCurrentValue(int)"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:109,1"
      Dst: "[com.netflix.servo.monitor.MinGauge].getCurrentValue(int)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:109,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MinGauge].getCurrentValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.MinGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.MinGauge:82"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MinGauge:80"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MinGauge:81,1"
      Dst: "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - Src: "com.netflix.servo.monitor.MinGauge:81,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.BasicDistributionSummary].getMax()"
    functionSourceFile: "com.netflix.servo.monitor.BasicDistributionSummary"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.lang.Long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MaxGauge].getCurrentValue(int)"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:116,1"
      Dst: "[com.netflix.servo.monitor.MaxGauge].getCurrentValue(int)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:116,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicDistributionSummary].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.BasicDistributionSummary"
    linkageType: ""
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionDepth: 8
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.BasicTagList].concat(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag[])"
    - "[com.netflix.servo.monitor.StepCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MaxGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionUses: 6
    ICount: 21
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:124,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].concat(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag[])"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:124,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:126,1"
      Dst: "[com.netflix.servo.monitor.MaxGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTagList].concat(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag[])"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionDepth: 5
    returnType: "com.netflix.servo.tag.BasicTagList"
    argCount: 2
    argTypes:
    - "com.netflix.servo.tag.TagList"
    - "com.netflix.servo.tag.Tag[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.BasicTagList].<init>(java.lang.Iterable)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[com.netflix.servo.util.Iterables].concat(java.lang.Iterable,java.lang.Iterable)"
    functionUses: 7
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:176,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "com.netflix.servo.tag.BasicTagList:176,1"
      Dst: "[com.netflix.servo.util.Iterables].concat(java.lang.Iterable,java.lang.Iterable)"
    - Src: "com.netflix.servo.tag.BasicTagList:176,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].<init>(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicDistributionSummary].toString()"
    functionSourceFile: "com.netflix.servo.monitor.BasicDistributionSummary"
    linkageType: ""
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 39
    ICount: 21
    EdgeCount: 13
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:131,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:131,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:131,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:131,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:131,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicDistributionSummary].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.BasicDistributionSummary"
    linkageType: ""
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionDepth: 4
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.netflix.servo.monitor.StepCounter].hashCode()"
    - "[com.netflix.servo.monitor.MaxGauge].hashCode()"
    - "[com.netflix.servo.monitor.MinGauge].hashCode()"
    functionUses: 41
    ICount: 20
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:144,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:145,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].hashCode()"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:147,1"
      Dst: "[com.netflix.servo.monitor.MaxGauge].hashCode()"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:148,1"
      Dst: "[com.netflix.servo.monitor.MinGauge].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MinGauge].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.MinGauge"
    linkageType: ""
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.netflix.servo.monitor.MinGauge].getValue(int)"
    - "[java.lang.Long].hashCode()"
    functionUses: 42
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MinGauge:105,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.MinGauge:105,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.MinGauge:106,1"
      Dst: "[com.netflix.servo.monitor.MinGauge].getValue(int)"
    - Src: "com.netflix.servo.monitor.MinGauge:106,1"
      Dst: "[java.lang.Long].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MinGauge].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.MinGauge"
    linkageType: ""
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionDepth: 2
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepLong].poll(int)"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 4
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.MinGauge:74"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MinGauge:72"
        BranchSideFuncs:
        - "poll(int)"
        - "valueOf(long)"
    Callsites:
    - Src: "com.netflix.servo.monitor.MinGauge:73,1"
      Dst: "[com.netflix.servo.monitor.StepLong].poll(int)"
    - Src: "com.netflix.servo.monitor.MinGauge:74,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.BasicDistributionSummary].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.BasicDistributionSummary"
    linkageType: ""
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.StepCounter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MaxGauge].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MinGauge].equals(java.lang.Object)"
    functionUses: 41
    ICount: 33
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BasicDistributionSummary:157"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:161"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:160"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicDistributionSummary:161"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:162"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:161"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicDistributionSummary:161"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:165"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:164"
        BranchSideFuncs:
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.BasicDistributionSummary:166"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:-1"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicDistributionSummary:167"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:-1"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicDistributionSummary:168"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:-1"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicDistributionSummary:169"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicDistributionSummary:170"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicDistributionSummary:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:166,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:166,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:167,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:169,1"
      Dst: "[com.netflix.servo.monitor.MaxGauge].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BasicDistributionSummary:170,1"
      Dst: "[com.netflix.servo.monitor.MinGauge].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 7
  - functionName: "[com.netflix.servo.monitor.MinGauge].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.MinGauge"
    linkageType: ""
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Long].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.MinGauge].getValue(int)"
    functionUses: 42
    ICount: 21
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.MinGauge:90"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MinGauge:93"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MinGauge:92"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.MinGauge:93"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MinGauge:94"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MinGauge:93"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.MinGauge:93"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MinGauge:96"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MinGauge:95"
        BranchSideFuncs:
        - "getValue(int)"
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.MinGauge:97"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MinGauge:95"
        BranchSideFuncs:
        - "getValue(int)"
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.MinGauge:97"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MinGauge:95"
        BranchSideFuncs:
        - "getValue(int)"
        - "equals(java.lang.Object)"
        - "getConfig()"
    Callsites:
    - Src: "com.netflix.servo.monitor.MinGauge:97,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.MinGauge:97,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.MinGauge:97,1"
      Dst: "[com.netflix.servo.monitor.MinGauge].getValue(int)"
    - Src: "com.netflix.servo.monitor.MinGauge:97,1"
      Dst: "[java.lang.Long].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$MinStatGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$MinStatGaugeWrapper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor].access$000()"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.StatsMonitor$LongGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$MinStatGaugeWrapper:179,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].access$000()"
    - Src: "com.netflix.servo.monitor.StatsMonitor$MinStatGaugeWrapper:179,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$MinStatGaugeWrapper:179,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$LongGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$MinStatGaugeWrapper].update(com.netflix.servo.stats.StatsBuffer)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$MinStatGaugeWrapper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.stats.StatsBuffer].getMin()"
    - "[java.lang.Long].valueOf(long)"
    - "[com.netflix.servo.monitor.LongGauge].set(java.lang.Long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$MinStatGaugeWrapper:184,1"
      Dst: "[com.netflix.servo.stats.StatsBuffer].getMin()"
    - Src: "com.netflix.servo.monitor.StatsMonitor$MinStatGaugeWrapper:184,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$MinStatGaugeWrapper:184,1"
      Dst: "[com.netflix.servo.monitor.LongGauge].set(java.lang.Long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsBuffer].getMin()"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.LongGauge].set(java.lang.Long)"
    functionSourceFile: "com.netflix.servo.monitor.LongGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Long].longValue()"
    - "[com.netflix.servo.SpectatorContext$LazyGauge].set(double)"
    - "[com.netflix.servo.monitor.LongGauge].getNumber()"
    - "[java.util.concurrent.atomic.AtomicLong].set(long)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.LongGauge:50,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.netflix.servo.monitor.LongGauge:50,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyGauge].set(double)"
    - Src: "com.netflix.servo.monitor.LongGauge:51,1"
      Dst: "[com.netflix.servo.monitor.LongGauge].getNumber()"
    - Src: "com.netflix.servo.monitor.LongGauge:52,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].set(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.LongGauge].getNumber()"
    functionSourceFile: "com.netflix.servo.monitor.LongGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.concurrent.atomic.AtomicLong"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].<init>()"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.netflix.servo.stats.StatsConfig].access$000()"
    - "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - "[java.lang.Integer].parseInt(java.lang.String)"
    - "[com.netflix.servo.stats.StatsConfig].access$100()"
    - "[java.lang.Long].parseLong(java.lang.String)"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.stats.StatsConfig$Builder:41,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.stats.StatsConfig$Builder:49,1"
      Dst: "[com.netflix.servo.stats.StatsConfig].access$000()"
    - Src: "com.netflix.servo.stats.StatsConfig$Builder:49,1"
      Dst: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.stats.StatsConfig$Builder:49,1"
      Dst: "[java.lang.Integer].parseInt(java.lang.String)"
    - Src: "com.netflix.servo.stats.StatsConfig$Builder:50,1"
      Dst: "[com.netflix.servo.stats.StatsConfig].access$100()"
    - Src: "com.netflix.servo.stats.StatsConfig$Builder:50,1"
      Dst: "[java.lang.Long].parseLong(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].withPublishCount(boolean)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.stats.StatsConfig$Builder"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].withPublishTotal(boolean)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.stats.StatsConfig$Builder"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].withPublishMin(boolean)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.stats.StatsConfig$Builder"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].withPublishMax(boolean)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.stats.StatsConfig$Builder"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].withPublishMean(boolean)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.stats.StatsConfig$Builder"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].withPublishVariance(boolean)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.stats.StatsConfig$Builder"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].withPublishStdDev(boolean)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.stats.StatsConfig$Builder"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].withPercentiles(double[])"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.stats.StatsConfig$Builder"
    argCount: 1
    argTypes:
    - "double[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].copyOf(double[],int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.stats.StatsConfig$Builder:121,1"
      Dst: "[java.util.Arrays].copyOf(double[],int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].withSampleSize(int)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.stats.StatsConfig$Builder"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].withComputeFrequencyMillis(long)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.stats.StatsConfig$Builder"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].build()"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.netflix.servo.stats.StatsConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.stats.StatsConfig].<init>(com.netflix.servo.stats.StatsConfig$Builder)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.stats.StatsConfig$Builder:146,1"
      Dst: "[com.netflix.servo.stats.StatsConfig].<init>(com.netflix.servo.stats.StatsConfig$Builder)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig].<init>(com.netflix.servo.stats.StatsConfig$Builder)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.netflix.servo.stats.StatsConfig$Builder].access$200(com.netflix.servo.stats.StatsConfig$Builder)"
    - "[com.netflix.servo.stats.StatsConfig$Builder].access$300(com.netflix.servo.stats.StatsConfig$Builder)"
    - "[com.netflix.servo.stats.StatsConfig$Builder].access$400(com.netflix.servo.stats.StatsConfig$Builder)"
    - "[com.netflix.servo.stats.StatsConfig$Builder].access$500(com.netflix.servo.stats.StatsConfig$Builder)"
    - "[com.netflix.servo.stats.StatsConfig$Builder].access$600(com.netflix.servo.stats.StatsConfig$Builder)"
    - "[com.netflix.servo.stats.StatsConfig$Builder].access$700(com.netflix.servo.stats.StatsConfig$Builder)"
    - "[com.netflix.servo.stats.StatsConfig$Builder].access$800(com.netflix.servo.stats.StatsConfig$Builder)"
    - "[com.netflix.servo.stats.StatsConfig$Builder].access$900(com.netflix.servo.stats.StatsConfig$Builder)"
    - "[com.netflix.servo.stats.StatsConfig$Builder].access$1000(com.netflix.servo.stats.StatsConfig$Builder)"
    - "[com.netflix.servo.stats.StatsConfig$Builder].access$1100(com.netflix.servo.stats.StatsConfig$Builder)"
    - "[java.util.Arrays].copyOf(double[],int)"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.stats.StatsConfig:164,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.stats.StatsConfig:165,1"
      Dst: "[com.netflix.servo.stats.StatsConfig$Builder].access$200(com.netflix.servo.stats.StatsConfig$Builder)"
    - Src: "com.netflix.servo.stats.StatsConfig:166,1"
      Dst: "[com.netflix.servo.stats.StatsConfig$Builder].access$300(com.netflix.servo.stats.StatsConfig$Builder)"
    - Src: "com.netflix.servo.stats.StatsConfig:167,1"
      Dst: "[com.netflix.servo.stats.StatsConfig$Builder].access$400(com.netflix.servo.stats.StatsConfig$Builder)"
    - Src: "com.netflix.servo.stats.StatsConfig:168,1"
      Dst: "[com.netflix.servo.stats.StatsConfig$Builder].access$500(com.netflix.servo.stats.StatsConfig$Builder)"
    - Src: "com.netflix.servo.stats.StatsConfig:170,1"
      Dst: "[com.netflix.servo.stats.StatsConfig$Builder].access$600(com.netflix.servo.stats.StatsConfig$Builder)"
    - Src: "com.netflix.servo.stats.StatsConfig:171,1"
      Dst: "[com.netflix.servo.stats.StatsConfig$Builder].access$700(com.netflix.servo.stats.StatsConfig$Builder)"
    - Src: "com.netflix.servo.stats.StatsConfig:172,1"
      Dst: "[com.netflix.servo.stats.StatsConfig$Builder].access$800(com.netflix.servo.stats.StatsConfig$Builder)"
    - Src: "com.netflix.servo.stats.StatsConfig:173,1"
      Dst: "[com.netflix.servo.stats.StatsConfig$Builder].access$900(com.netflix.servo.stats.StatsConfig$Builder)"
    - Src: "com.netflix.servo.stats.StatsConfig:174,1"
      Dst: "[com.netflix.servo.stats.StatsConfig$Builder].access$1000(com.netflix.servo.stats.StatsConfig$Builder)"
    - Src: "com.netflix.servo.stats.StatsConfig:176,1"
      Dst: "[com.netflix.servo.stats.StatsConfig$Builder].access$1100(com.netflix.servo.stats.StatsConfig$Builder)"
    - Src: "com.netflix.servo.stats.StatsConfig:176,1"
      Dst: "[java.util.Arrays].copyOf(double[],int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].access$200(com.netflix.servo.stats.StatsConfig$Builder)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].access$300(com.netflix.servo.stats.StatsConfig$Builder)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].access$400(com.netflix.servo.stats.StatsConfig$Builder)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].access$500(com.netflix.servo.stats.StatsConfig$Builder)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].access$600(com.netflix.servo.stats.StatsConfig$Builder)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].access$700(com.netflix.servo.stats.StatsConfig$Builder)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].access$800(com.netflix.servo.stats.StatsConfig$Builder)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].access$900(com.netflix.servo.stats.StatsConfig$Builder)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].access$1000(com.netflix.servo.stats.StatsConfig$Builder)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig$Builder].access$1100(com.netflix.servo.stats.StatsConfig$Builder)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double[]"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.TagComparator].<init>()"
    functionSourceFile: "com.netflix.servo.tag.TagComparator"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.TagComparator:24,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.TagComparator].compare(com.netflix.servo.tag.Tag,com.netflix.servo.tag.Tag)"
    functionSourceFile: "com.netflix.servo.tag.TagComparator"
    linkageType: ""
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "com.netflix.servo.tag.Tag"
    - "com.netflix.servo.tag.Tag"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.netflix.servo.annotations.DataSourceType].getKey()"
    - "[com.netflix.servo.tag.InjectableTag].getKey()"
    - "[java.lang.String].compareTo(java.lang.String)"
    - "[com.netflix.servo.annotations.DataSourceLevel].getValue()"
    - "[com.netflix.servo.annotations.DataSourceType].getValue()"
    - "[com.netflix.servo.annotations.DataSourceLevel:com.netflix.servo.tag.BasicTag:com.netflix.servo.tag.InjectableTag].getKey()"
    - "[com.netflix.servo.tag.Tag].getKey()"
    - "[com.netflix.servo.tag.Tag].getValue()"
    functionUses: 1
    ICount: 15
    EdgeCount: 13
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.TagComparator:30"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.TagComparator:34"
        BranchSideFuncs:
        - "getValue()"
      - BranchSide: "com.netflix.servo.tag.TagComparator:33"
        BranchSideFuncs:
        - "getKey()"
        - "compareTo(java.lang.String)"
    Callsites:
    - Src: "com.netflix.servo.tag.TagComparator:30,1"
      Dst: "[com.netflix.servo.tag.Tag].getKey()"
    - Src: "com.netflix.servo.tag.TagComparator:30,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.netflix.servo.tag.TagComparator:31,1"
      Dst: "[com.netflix.servo.tag.Tag].getValue()"
    - Src: "com.netflix.servo.tag.TagComparator:31,1"
      Dst: "[java.lang.String].compareTo(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.TagComparator].compare(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.tag.TagComparator"
    linkageType: ""
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.TagComparator].compare(com.netflix.servo.tag.Tag,com.netflix.servo.tag.Tag)"
    functionUses: 42
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.TagComparator:24,1"
      Dst: "[com.netflix.servo.tag.TagComparator].compare(com.netflix.servo.tag.Tag,com.netflix.servo.tag.Tag)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$lambda_new_1__58].accept(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$lambda_new_1__58"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache].lambda$new$1(java.util.Map$Entry)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$lambda_new_1__58:-1,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].lambda$new$1(java.util.Map$Entry)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors$TimerFactory].<init>(java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors$TimerFactory"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors$TimerFactory:56,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors$TimerFactory].apply(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors$TimerFactory"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionDepth: 10
    returnType: "com.netflix.servo.monitor.Timer"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BasicTimer].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors$TimerFactory:61,1"
      Dst: "[com.netflix.servo.monitor.BasicTimer].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors$TimerFactory].apply(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors$TimerFactory"
    linkageType: ""
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionDepth: 11
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitors$TimerFactory].apply(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 27
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors$TimerFactory:53,1"
      Dst: "[com.netflix.servo.monitor.Monitors$TimerFactory].apply(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].<init>(long,double)"
    functionSourceFile: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue"
    linkageType: ""
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue:201,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].<init>(com.netflix.servo.Metric)"
    functionSourceFile: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue"
    linkageType: ""
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.Metric"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].<init>(long,double)"
    - "[java.lang.Integer].doubleValue()"
    - "[java.lang.Long].doubleValue()"
    - "[java.util.concurrent.atomic.LongAdder].doubleValue()"
    - "[java.lang.Float].doubleValue()"
    - "[com.google.common.util.concurrent.AtomicDouble].doubleValue()"
    - "[java.lang.Double].doubleValue()"
    - "[java.math.BigDecimal].doubleValue()"
    - "[com.google.common.primitives.UnsignedInteger].doubleValue()"
    - "[java.util.concurrent.atomic.AtomicInteger].doubleValue()"
    - "[java.lang.Short].doubleValue()"
    - "[java.util.concurrent.atomic.AtomicLong].doubleValue()"
    - "[com.google.common.cache.LongAdder].doubleValue()"
    - "[com.netflix.spectator.impl.AtomicDouble].doubleValue()"
    - "[java.lang.Byte].doubleValue()"
    - "[java.math.BigInteger].doubleValue()"
    - "[com.google.common.primitives.UnsignedLong].doubleValue()"
    - "[com.netflix.servo.Metric].getNumberValue()"
    - "[com.netflix.servo.Metric].getTimestamp()"
    - "[java.lang.Number].doubleValue()"
    functionUses: 1
    ICount: 7
    EdgeCount: 19
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue:207,1"
      Dst: "[com.netflix.servo.Metric].getTimestamp()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue:207,1"
      Dst: "[com.netflix.servo.Metric].getNumberValue()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue:207,1"
      Dst: "[java.lang.Number].doubleValue()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue:207,1"
      Dst: "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].<init>(long,double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].computeRate(com.netflix.servo.Metric)"
    functionSourceFile: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue"
    linkageType: ""
    functionLinenumber: 214
    functionLinenumberEnd: 225
    functionDepth: 1
    returnType: "double"
    argCount: 1
    argTypes:
    - "com.netflix.servo.Metric"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.Metric].getTimestamp()"
    - "[java.lang.Integer].doubleValue()"
    - "[java.lang.Long].doubleValue()"
    - "[java.util.concurrent.atomic.LongAdder].doubleValue()"
    - "[java.lang.Float].doubleValue()"
    - "[com.google.common.util.concurrent.AtomicDouble].doubleValue()"
    - "[java.lang.Double].doubleValue()"
    - "[java.math.BigDecimal].doubleValue()"
    - "[com.google.common.primitives.UnsignedInteger].doubleValue()"
    - "[java.util.concurrent.atomic.AtomicInteger].doubleValue()"
    - "[java.lang.Short].doubleValue()"
    - "[java.util.concurrent.atomic.AtomicLong].doubleValue()"
    - "[com.google.common.cache.LongAdder].doubleValue()"
    - "[com.netflix.spectator.impl.AtomicDouble].doubleValue()"
    - "[java.lang.Byte].doubleValue()"
    - "[java.math.BigInteger].doubleValue()"
    - "[com.google.common.primitives.UnsignedLong].doubleValue()"
    - "[com.netflix.servo.Metric].getNumberValue()"
    - "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].computeRate(long,double)"
    - "[java.lang.Number].doubleValue()"
    functionUses: 1
    ICount: 13
    EdgeCount: 19
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue:215,1"
      Dst: "[com.netflix.servo.Metric].getTimestamp()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue:216,1"
      Dst: "[com.netflix.servo.Metric].getNumberValue()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue:216,1"
      Dst: "[java.lang.Number].doubleValue()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue:224,1"
      Dst: "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].computeRate(long,double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.Metric].getTimestamp()"
    functionSourceFile: "com.netflix.servo.Metric"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 8
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.Metric].getNumberValue()"
    functionSourceFile: "com.netflix.servo.Metric"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionDepth: 0
    returnType: "java.lang.Number"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 4
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].computeRate(long,double)"
    functionSourceFile: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue"
    linkageType: ""
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionDepth: 0
    returnType: "double"
    argCount: 2
    argTypes:
    - "long"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 2
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue:230"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue:228"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue:230"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue:228"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.monitor.AnnotatedNumberMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,java.lang.Object,java.lang.reflect.AccessibleObject)"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedNumberMonitor"
    linkageType: ""
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionDepth: 3
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "java.lang.Object"
    - "java.lang.reflect.AccessibleObject"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - "[com.netflix.servo.tag.SortedTagList].getValue(java.lang.String)"
    - "[com.netflix.servo.tag.BasicTagList].getValue(java.lang.String)"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_0__19].bootstrap$()"
    - "[com.netflix.servo.SpectatorContext].polledGauge(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.spectator.api.patterns.PolledMeter$Builder].monitorMonotonicCounter(java.lang.Object,java.util.function.ToLongFunction)"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_1__18].bootstrap$()"
    - "[com.netflix.spectator.api.patterns.PolledMeter$Builder].monitorValue(java.lang.Object,java.util.function.ToDoubleFunction)"
    - "[com.netflix.servo.tag.TagList].getValue(java.lang.String)"
    functionUses: 2
    ICount: 20
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.AnnotatedNumberMonitor:39"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.AnnotatedNumberMonitor:43"
        BranchSideFuncs:
        - "monitorMonotonicCounter(java.lang.Object,java.util.function.ToLongFunction)"
      - BranchSide: "com.netflix.servo.monitor.AnnotatedNumberMonitor:42"
        BranchSideFuncs:
        - "bootstrap$()"
        - "monitorValue(java.lang.Object,java.util.function.ToDoubleFunction)"
        - "polledGauge(com.netflix.servo.monitor.MonitorConfig)"
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:36,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:39,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:39,1"
      Dst: "[com.netflix.servo.tag.TagList].getValue(java.lang.String)"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:39,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:40,1"
      Dst: "[com.netflix.servo.SpectatorContext].polledGauge(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:40,1"
      Dst: "[com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_0__19].bootstrap$()"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:41,1"
      Dst: "[com.netflix.spectator.api.patterns.PolledMeter$Builder].monitorMonotonicCounter(java.lang.Object,java.util.function.ToLongFunction)"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:43,1"
      Dst: "[com.netflix.servo.monitor.AnnotatedNumberMonitor$lambda_new_1__18].bootstrap$()"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:44,1"
      Dst: "[com.netflix.spectator.api.patterns.PolledMeter$Builder].monitorValue(java.lang.Object,java.util.function.ToDoubleFunction)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.AnnotatedNumberMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedNumberMonitor"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.AnnotatedNumberMonitor].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedNumberMonitor"
    linkageType: ""
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.reflect.Invokable].equals(java.lang.Object)"
    - "[com.google.common.reflect.Element].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[java.lang.reflect.Constructor].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 40
    ICount: 19
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.AnnotatedNumberMonitor:77"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.AnnotatedNumberMonitor:78"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.AnnotatedNumberMonitor:77"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.AnnotatedNumberMonitor:77"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.AnnotatedNumberMonitor:80"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.AnnotatedNumberMonitor:79"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.AnnotatedNumberMonitor:81"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.AnnotatedNumberMonitor:79"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.AnnotatedNumberMonitor:81"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.AnnotatedNumberMonitor:79"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "getConfig()"
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:81,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:81,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:81,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.AnnotatedNumberMonitor].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedNumberMonitor"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.google.common.reflect.Element].hashCode()"
    - "[com.google.common.reflect.Invokable].hashCode()"
    - "[java.lang.Object:java.lang.reflect.Constructor:java.lang.reflect.Field:java.lang.reflect.Method].hashCode()"
    - "[java.lang.Object].hashCode()"
    functionUses: 40
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:89,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:90,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.AnnotatedNumberMonitor].toString()"
    functionSourceFile: "com.netflix.servo.monitor.AnnotatedNumberMonitor"
    linkageType: ""
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 39
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:99,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:99,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:99,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:99,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.AnnotatedNumberMonitor:99,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.stats.StatsConfig)"
    functionSourceFile: "com.netflix.servo.monitor.StatsTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.stats.StatsConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.stats.StatsConfig,java.util.concurrent.TimeUnit,java.util.concurrent.ScheduledExecutorService)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsTimer:47,1"
      Dst: "[com.netflix.servo.monitor.StatsTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.stats.StatsConfig,java.util.concurrent.TimeUnit,java.util.concurrent.ScheduledExecutorService)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.stats.StatsConfig,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.StatsTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.stats.StatsConfig"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.stats.StatsConfig,java.util.concurrent.TimeUnit,java.util.concurrent.ScheduledExecutorService)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsTimer:54,1"
      Dst: "[com.netflix.servo.monitor.StatsTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.stats.StatsConfig,java.util.concurrent.TimeUnit,java.util.concurrent.ScheduledExecutorService)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.stats.StatsConfig,java.util.concurrent.TimeUnit,java.util.concurrent.ScheduledExecutorService)"
    functionSourceFile: "com.netflix.servo.monitor.StatsTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.stats.StatsConfig"
    - "java.util.concurrent.TimeUnit"
    - "java.util.concurrent.ScheduledExecutorService"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].name()"
    - "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.monitor.StatsMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.stats.StatsConfig,java.util.concurrent.ScheduledExecutorService,java.lang.String,boolean,com.netflix.servo.tag.Tag[])"
    - "[com.netflix.servo.monitor.StatsMonitor].startComputingStats()"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsTimer:68,1"
      Dst: "[java.lang.Enum].name()"
    - Src: "com.netflix.servo.monitor.StatsTimer:68,1"
      Dst: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.monitor.StatsTimer:68,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.stats.StatsConfig,java.util.concurrent.ScheduledExecutorService,java.lang.String,boolean,com.netflix.servo.tag.Tag[])"
    - Src: "com.netflix.servo.monitor.StatsTimer:70,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].startComputingStats()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsTimer].start()"
    functionSourceFile: "com.netflix.servo.monitor.StatsTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.netflix.servo.monitor.Stopwatch"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.TimedStopwatch].<init>(com.netflix.servo.monitor.Timer)"
    - "[com.netflix.servo.monitor.Stopwatch].start()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsTimer:78,1"
      Dst: "[com.netflix.servo.monitor.TimedStopwatch].<init>(com.netflix.servo.monitor.Timer)"
    - Src: "com.netflix.servo.monitor.StatsTimer:79,1"
      Dst: "[com.netflix.servo.monitor.Stopwatch].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsTimer].getTimeUnit()"
    functionSourceFile: "com.netflix.servo.monitor.StatsTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.concurrent.TimeUnit"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsTimer].record(long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.StatsTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.monitor.StatsMonitor].record(long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsTimer:96,1"
      Dst: "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.monitor.StatsTimer:96,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].record(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].record(long)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Clock].now()"
    - "[com.netflix.servo.monitor.StatsMonitor].isExpired()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - "[org.slf4j.Logger].info(java.lang.String,java.lang.Object)"
    - "[com.netflix.servo.stats.StatsConfig].getFrequencyMillis()"
    - "[com.netflix.servo.monitor.StatsMonitor].startComputingStats(java.util.concurrent.ScheduledExecutorService,long)"
    - "[com.netflix.servo.stats.StatsBuffer].record(long)"
    - "[com.netflix.servo.monitor.Counter].increment()"
    - "[com.netflix.servo.monitor.Counter].increment(long)"
    functionUses: 0
    ICount: 29
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:446"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:451"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:450"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:445,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:446,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].isExpired()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:447,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:447,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:447,1"
      Dst: "[org.slf4j.Logger].info(java.lang.String,java.lang.Object)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:448,1"
      Dst: "[com.netflix.servo.stats.StatsConfig].getFrequencyMillis()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:448,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].startComputingStats(java.util.concurrent.ScheduledExecutorService,long)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:452,1"
      Dst: "[com.netflix.servo.stats.StatsBuffer].record(long)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:454,1"
      Dst: "[com.netflix.servo.monitor.Counter].increment()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:455,1"
      Dst: "[com.netflix.servo.monitor.Counter].increment(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].isExpired()"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:534"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:533"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:534,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.stats.StatsConfig].getFrequencyMillis()"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].startComputingStats(java.util.concurrent.ScheduledExecutorService,long)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.concurrent.ScheduledExecutorService"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor$computeStats__72].bootstrap$(com.netflix.servo.monitor.StatsMonitor)"
    - "[java.util.concurrent.ScheduledExecutorService].scheduleWithFixedDelay(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)"
    - "[java.util.concurrent.atomic.AtomicReference].set(java.lang.Object)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:422,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$computeStats__72].bootstrap$(com.netflix.servo.monitor.StatsMonitor)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:422,1"
      Dst: "[java.util.concurrent.ScheduledExecutorService].scheduleWithFixedDelay(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:422,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].set(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsBuffer].record(long)"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Integer].remainderUnsigned(int,int)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.stats.StatsBuffer:97"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:100"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:99"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.stats.StatsBuffer:96,1"
      Dst: "[java.lang.Integer].remainderUnsigned(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.StatsTimer].toString()"
    functionSourceFile: "com.netflix.servo.monitor.StatsTimer"
    linkageType: ""
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[com.netflix.servo.monitor.StatsMonitor].toString()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 39
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsTimer:104,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.StatsTimer:104,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.StatsTimer:104,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].toString()"
    - Src: "com.netflix.servo.monitor.StatsTimer:104,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.StatsTimer:104,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.StatsTimer:104,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].toString()"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 40
    ICount: 12
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:488,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:488,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:488,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:488,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:488,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsTimer].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.StatsTimer"
    linkageType: ""
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor].equals(java.lang.Object)"
    - "[java.lang.Enum].equals(java.lang.Object)"
    functionUses: 41
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StatsTimer:112"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsTimer:115"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsTimer:114"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.servo.monitor.StatsTimer:116"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsTimer:114"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.servo.monitor.StatsTimer:116"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsTimer:114"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsTimer:116,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.StatsTimer:116,1"
      Dst: "[java.lang.Enum].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: 495
    functionLinenumberEnd: 502
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].equals(java.lang.Object)"
    - "[java.util.ArrayList].equals(java.lang.Object)"
    - "[com.google.common.primitives.Chars$CharArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.primitives.Ints$IntArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableList].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingList].equals(java.lang.Object)"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.primitives.Longs$LongArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].equals(java.lang.Object)"
    - "[java.util.Vector].equals(java.lang.Object)"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].equals(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArrayList].equals(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableList].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedList].equals(java.lang.Object)"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].equals(java.lang.Object)"
    - "[java.util.AbstractList].equals(java.lang.Object)"
    - "[java.util.List].equals(java.lang.Object)"
    functionUses: 42
    ICount: 19
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:496"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:497"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:496"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:496"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:500"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:499"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:501"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:499"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:501"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:499"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:501,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:501,1"
      Dst: "[java.util.List].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.StatsTimer].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.StatsTimer"
    linkageType: ""
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionDepth: 2
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor].hashCode()"
    - "[java.lang.Enum].hashCode()"
    functionUses: 41
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsTimer:124,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].hashCode()"
    - Src: "com.netflix.servo.monitor.StatsTimer:125,1"
      Dst: "[java.lang.Enum].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.google.common.collect.ForwardingList].hashCode()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].hashCode()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].hashCode()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].hashCode()"
    - "[com.google.common.collect.SingletonImmutableList].hashCode()"
    - "[com.google.common.collect.Synchronized$SynchronizedList].hashCode()"
    - "[com.google.common.collect.ImmutableList].hashCode()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].hashCode()"
    - "[java.util.Vector].hashCode()"
    - "[java.util.AbstractList].hashCode()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].hashCode()"
    - "[java.util.concurrent.CopyOnWriteArrayList].hashCode()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].hashCode()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].hashCode()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].hashCode()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].hashCode()"
    - "[java.util.ArrayList].hashCode()"
    - "[java.util.List].hashCode()"
    functionUses: 42
    ICount: 8
    EdgeCount: 18
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:509,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:510,1"
      Dst: "[java.util.List].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsTimer].getCount()"
    functionSourceFile: "com.netflix.servo.monitor.StatsTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitor].getValue()"
    - "[java.lang.Number].longValue()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsTimer:133,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue()"
    - Src: "com.netflix.servo.monitor.StatsTimer:133,1"
      Dst: "[java.lang.Number].longValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsTimer].getTotalTime()"
    functionSourceFile: "com.netflix.servo.monitor.StatsTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor].getTotalMeasurement()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsTimer:141,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].getTotalMeasurement()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].getTotalMeasurement()"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitor].getValue()"
    - "[java.lang.Number].longValue()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:526,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:526,1"
      Dst: "[java.lang.Number].longValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ThreadFactories$1].newThread(java.lang.Runnable)"
    functionSourceFile: "com.netflix.servo.util.ThreadFactories$1"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionDepth: 1
    returnType: "java.lang.Thread"
    argCount: 1
    argTypes:
    - "java.lang.Runnable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ThreadFactories].access$000()"
    - "[org.testng.internal.thread.ThreadUtil$ThreadFactoryImpl].newThread(java.lang.Runnable)"
    - "[jdk.internal.ref.CleanerFactory$1].newThread(java.lang.Runnable)"
    - "[com.netflix.servo.util.ThreadFactories$1].newThread(java.lang.Runnable)"
    - "[org.testng.internal.thread.ThreadUtil$1].newThread(java.lang.Runnable)"
    - "[jdk.internal.ref.CleanerImpl$InnocuousThreadFactory].newThread(java.lang.Runnable)"
    - "[com.netflix.spectator.api.patterns.GaugePoller$1].newThread(java.lang.Runnable)"
    - "[com.netflix.spectator.impl.Scheduler$1].newThread(java.lang.Runnable)"
    - "[com.google.common.util.concurrent.ThreadFactoryBuilder$1].newThread(java.lang.Runnable)"
    - "[com.netflix.servo.SpectatorContext$lambda_static_0__1].newThread(java.lang.Runnable)"
    - "[com.google.common.util.concurrent.AbstractScheduledService$2].newThread(java.lang.Runnable)"
    - "[jdk.internal.logger.BootstrapLogger$BootstrapExecutors].newThread(java.lang.Runnable)"
    - "[java.lang.Thread].setDaemon(boolean)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.util.concurrent.atomic.AtomicLong].getAndIncrement()"
    - "[java.lang.Thread].setName(java.lang.String)"
    - "[java.lang.Long].valueOf(long)"
    - "[java.util.concurrent.ThreadFactory].newThread(java.lang.Runnable)"
    functionUses: 4
    ICount: 14
    EdgeCount: 17
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ThreadFactories$1:44,1"
      Dst: "[com.netflix.servo.util.ThreadFactories].access$000()"
    - Src: "com.netflix.servo.util.ThreadFactories$1:44,1"
      Dst: "[java.util.concurrent.ThreadFactory].newThread(java.lang.Runnable)"
    - Src: "com.netflix.servo.util.ThreadFactories$1:45,1"
      Dst: "[java.lang.Thread].setDaemon(boolean)"
    - Src: "com.netflix.servo.util.ThreadFactories$1:46,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].getAndIncrement()"
    - Src: "com.netflix.servo.util.ThreadFactories$1:46,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.util.ThreadFactories$1:46,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.netflix.servo.util.ThreadFactories$1:46,1"
      Dst: "[java.lang.Thread].setName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.LongGauge].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.LongGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    - "[com.netflix.servo.SpectatorContext].gauge(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.LongGauge:40,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.LongGauge:40,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.LongGauge:42,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    - Src: "com.netflix.servo.monitor.LongGauge:43,1"
      Dst: "[com.netflix.servo.SpectatorContext].gauge(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.LongGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.LongGauge"
    linkageType: ""
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.SpectatorContext$LazyGauge].setId(com.netflix.spectator.api.Id)"
    functionUses: 6
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.LongGauge:67,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.LongGauge:67,1"
      Dst: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.LongGauge:68,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyGauge].setId(com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.LongGauge].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.LongGauge"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Long].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.LongGauge].getValue(int)"
    functionUses: 41
    ICount: 22
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.LongGauge:76"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.LongGauge:80"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.LongGauge:79"
        BranchSideFuncs:
        - "getClass()"
    - Branch String: "com.netflix.servo.monitor.LongGauge:80"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.LongGauge:81"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.LongGauge:80"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.LongGauge:80"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.LongGauge:84"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.LongGauge:83"
        BranchSideFuncs:
        - "getValue(int)"
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.LongGauge:85"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.LongGauge:83"
        BranchSideFuncs:
        - "getValue(int)"
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.LongGauge:85"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.LongGauge:83"
        BranchSideFuncs:
        - "getValue(int)"
        - "equals(java.lang.Object)"
        - "getConfig()"
    Callsites:
    - Src: "com.netflix.servo.monitor.LongGauge:80,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.monitor.LongGauge:85,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.LongGauge:85,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.LongGauge:85,1"
      Dst: "[com.netflix.servo.monitor.LongGauge].getValue(int)"
    - Src: "com.netflix.servo.monitor.LongGauge:85,1"
      Dst: "[java.lang.Long].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.LongGauge].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.LongGauge"
    linkageType: ""
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionDepth: 0
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 4
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.LongGauge:105,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.servo.monitor.LongGauge:105,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.LongGauge].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.LongGauge"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.netflix.servo.monitor.LongGauge].getValue(int)"
    - "[java.lang.Long].hashCode()"
    functionUses: 41
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.LongGauge:93,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.LongGauge:93,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.LongGauge:94,1"
      Dst: "[com.netflix.servo.monitor.LongGauge].getValue(int)"
    - Src: "com.netflix.servo.monitor.LongGauge:94,1"
      Dst: "[java.lang.Long].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.LongGauge].toString()"
    functionSourceFile: "com.netflix.servo.monitor.LongGauge"
    linkageType: ""
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 39
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.LongGauge:113,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.LongGauge:113,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.LongGauge:113,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.LongGauge:113,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.LongGauge:113,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.reflect.Reflection].<init>()"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.reflect.Reflection:40,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.reflect.Reflection].getCallerClass()"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Class"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 25
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.reflect.Reflection].getClassAccessFlags(java.lang.Class)"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.reflect.Reflection].ensureMemberAccess(java.lang.Class,java.lang.Class,java.lang.Class,int)"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionDepth: 2
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.reflect.Reflection].verifyMemberAccess(java.lang.Class,java.lang.Class,java.lang.Class,int)"
    - "[jdk.internal.reflect.Reflection].newIllegalAccessException(java.lang.Class,java.lang.Class,java.lang.Class,int)"
    functionUses: 1
    ICount: 9
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "jdk.internal.reflect.Reflection:98"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:101"
        BranchSideFuncs:
        - "newIllegalAccessException(java.lang.Class,java.lang.Class,java.lang.Class,int)"
      - BranchSide: "jdk.internal.reflect.Reflection:100"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.reflect.Reflection:98,1"
      Dst: "[jdk.internal.reflect.Reflection].verifyMemberAccess(java.lang.Class,java.lang.Class,java.lang.Class,int)"
    - Src: "jdk.internal.reflect.Reflection:99,1"
      Dst: "[jdk.internal.reflect.Reflection].newIllegalAccessException(java.lang.Class,java.lang.Class,java.lang.Class,int)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalAccessException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.reflect.Reflection].verifyMemberAccess(java.lang.Class,java.lang.Class,java.lang.Class,int)"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: 119
    functionLinenumberEnd: 197
    functionDepth: 1
    returnType: "boolean"
    argCount: 4
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getModule()"
    - "[jdk.internal.reflect.Reflection].verifyModuleAccess(java.lang.Module,java.lang.Class)"
    - "[jdk.internal.reflect.Reflection].getClassAccessFlags(java.lang.Class)"
    - "[java.lang.reflect.Modifier].isPublic(int)"
    - "[jdk.internal.reflect.Reflection].isSameClassPackage(java.lang.Class,java.lang.Class)"
    - "[java.lang.reflect.Modifier].isPrivate(int)"
    - "[jdk.internal.reflect.Reflection].areNestMates(java.lang.Class,java.lang.Class)"
    - "[java.lang.reflect.Modifier].isProtected(int)"
    - "[jdk.internal.reflect.Reflection].isSubclassOf(java.lang.Class,java.lang.Class)"
    functionUses: 1
    ICount: 65
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "jdk.internal.reflect.Reflection:120"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:124"
        BranchSideFuncs:
        - "verifyModuleAccess(java.lang.Module,java.lang.Class)"
        - "getModule()"
    - Branch String: "jdk.internal.reflect.Reflection:125"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:129"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:128"
        BranchSideFuncs:
        - "getClassAccessFlags(java.lang.Class)"
    - Branch String: "jdk.internal.reflect.Reflection:132"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:142"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:141"
        BranchSideFuncs:
        - "isPublic(int)"
    - Branch String: "jdk.internal.reflect.Reflection:135"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:142"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:141"
        BranchSideFuncs:
        - "isPublic(int)"
    - Branch String: "jdk.internal.reflect.Reflection:142"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:147"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:146"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:147"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:154"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:150"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:155"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:154"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:157"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:163"
        BranchSideFuncs:
        - "isPrivate(int)"
    - Branch String: "jdk.internal.reflect.Reflection:159"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:163"
        BranchSideFuncs:
        - "isPrivate(int)"
    - Branch String: "jdk.internal.reflect.Reflection:164"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:176"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:175"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:164"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:176"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:175"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:165"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:170"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:171"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:175"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:176"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:182"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:181"
        BranchSideFuncs:
        - "isProtected(int)"
    - Branch String: "jdk.internal.reflect.Reflection:182"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:195"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:182"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:195"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:182"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:195"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:185"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:189"
        BranchSideFuncs:
        - "isSameClassPackage(java.lang.Class,java.lang.Class)"
      - BranchSide: "jdk.internal.reflect.Reflection:188"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:189"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:196"
        BranchSideFuncs:
        - "isSubclassOf(java.lang.Class,java.lang.Class)"
      - BranchSide: "jdk.internal.reflect.Reflection:195"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:190"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:196"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:195"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.reflect.Reflection:125,1"
      Dst: "[java.lang.Class].getModule()"
    - Src: "jdk.internal.reflect.Reflection:125,1"
      Dst: "[jdk.internal.reflect.Reflection].verifyModuleAccess(java.lang.Module,java.lang.Class)"
    - Src: "jdk.internal.reflect.Reflection:132,1"
      Dst: "[jdk.internal.reflect.Reflection].getClassAccessFlags(java.lang.Class)"
    - Src: "jdk.internal.reflect.Reflection:132,1"
      Dst: "[java.lang.reflect.Modifier].isPublic(int)"
    - Src: "jdk.internal.reflect.Reflection:133,1"
      Dst: "[jdk.internal.reflect.Reflection].isSameClassPackage(java.lang.Class,java.lang.Class)"
    - Src: "jdk.internal.reflect.Reflection:147,1"
      Dst: "[java.lang.reflect.Modifier].isPrivate(int)"
    - Src: "jdk.internal.reflect.Reflection:150,1"
      Dst: "[jdk.internal.reflect.Reflection].areNestMates(java.lang.Class,java.lang.Class)"
    - Src: "jdk.internal.reflect.Reflection:157,1"
      Dst: "[java.lang.reflect.Modifier].isProtected(int)"
    - Src: "jdk.internal.reflect.Reflection:159,1"
      Dst: "[jdk.internal.reflect.Reflection].isSubclassOf(java.lang.Class,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 32
    CyclomaticComplexity: 14
  - functionName: "[jdk.internal.reflect.Reflection].verifyModuleAccess(java.lang.Module,java.lang.Class)"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Module"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getModule()"
    - "[java.lang.Class].getPackageName()"
    - "[java.lang.Module].isExported(java.lang.String,java.lang.Module)"
    functionUses: 1
    ICount: 8
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "jdk.internal.reflect.Reflection:205"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:210"
        BranchSideFuncs:
        - "isExported(java.lang.String,java.lang.Module)"
        - "getPackageName()"
    Callsites:
    - Src: "jdk.internal.reflect.Reflection:204,1"
      Dst: "[java.lang.Class].getModule()"
    - Src: "jdk.internal.reflect.Reflection:211,1"
      Dst: "[java.lang.Class].getPackageName()"
    - Src: "jdk.internal.reflect.Reflection:212,1"
      Dst: "[java.lang.Module].isExported(java.lang.String,java.lang.Module)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.reflect.Reflection].isSameClassPackage(java.lang.Class,java.lang.Class)"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getClassLoader()"
    - "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    - "[java.lang.Class].getPackageName()"
    functionUses: 3
    ICount: 10
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "jdk.internal.reflect.Reflection:220"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:222"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:221"
        BranchSideFuncs:
        - "equals(java.lang.Object,java.lang.Object)"
        - "getPackageName()"
    Callsites:
    - Src: "jdk.internal.reflect.Reflection:220,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "jdk.internal.reflect.Reflection:222,1"
      Dst: "[java.lang.Class].getPackageName()"
    - Src: "jdk.internal.reflect.Reflection:222,1"
      Dst: "[java.util.Objects].equals(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.reflect.Reflection].areNestMates(java.lang.Class,java.lang.Class)"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[jdk.internal.reflect.Reflection].isSubclassOf(java.lang.Class,java.lang.Class)"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getSuperclass()"
    functionUses: 2
    ICount: 8
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "jdk.internal.reflect.Reflection:228"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:234"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:233"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:229"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:232"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:231"
        BranchSideFuncs:
        - "getSuperclass()"
    Callsites:
    - Src: "jdk.internal.reflect.Reflection:232,1"
      Dst: "[java.lang.Class].getSuperclass()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[jdk.internal.reflect.Reflection].newIllegalAccessException(java.lang.Class,java.lang.Class,java.lang.Class,int)"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: 335
    functionLinenumberEnd: 362
    functionDepth: 0
    returnType: "java.lang.IllegalAccessException"
    argCount: 4
    argTypes:
    - "java.lang.Class"
    - "java.lang.Class"
    - "java.lang.Class"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getModule()"
    - "[java.lang.Module].isNamed()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Class].getPackageName()"
    - "[java.lang.Module].isExported(java.lang.String,java.lang.Module)"
    - "[java.lang.reflect.Modifier].toString(int)"
    - "[java.lang.IllegalAccessException].<init>(java.lang.String)"
    functionUses: 1
    ICount: 67
    EdgeCount: 47
    BranchProfiles:
    - Branch String: "jdk.internal.reflect.Reflection:339"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:341"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:340"
        BranchSideFuncs:
        - "getModule()"
    - Branch String: "jdk.internal.reflect.Reflection:342"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:345"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:344"
        BranchSideFuncs:
        - "isExported(java.lang.String,java.lang.Module)"
        - "getPackageName()"
    - Branch String: "jdk.internal.reflect.Reflection:348"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:355"
        BranchSideFuncs:
        - "isNamed()"
        - "<init>()"
        - "append(java.lang.String)"
        - "append(java.lang.Object)"
        - "toString()"
    - Branch String: "jdk.internal.reflect.Reflection:358"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:360"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
    Callsites:
    - Src: "jdk.internal.reflect.Reflection:338,1"
      Dst: "[java.lang.Class].getModule()"
    - Src: "jdk.internal.reflect.Reflection:339,1"
      Dst: "[java.lang.Module].isNamed()"
    - Src: "jdk.internal.reflect.Reflection:340,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "jdk.internal.reflect.Reflection:340,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "jdk.internal.reflect.Reflection:340,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "jdk.internal.reflect.Reflection:340,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "jdk.internal.reflect.Reflection:345,1"
      Dst: "[java.lang.Class].getPackageName()"
    - Src: "jdk.internal.reflect.Reflection:348,1"
      Dst: "[java.lang.Module].isExported(java.lang.String,java.lang.Module)"
    - Src: "jdk.internal.reflect.Reflection:352,1"
      Dst: "[java.lang.reflect.Modifier].toString(int)"
    - Src: "jdk.internal.reflect.Reflection:361,1"
      Dst: "[java.lang.IllegalAccessException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.IllegalAccessException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[jdk.internal.reflect.Reflection].registerFieldsToFilter(java.lang.Class,java.lang.String[])"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.reflect.Reflection].registerFilter(java.util.Map,java.lang.Class,java.lang.String[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.reflect.Reflection:241,1"
      Dst: "[jdk.internal.reflect.Reflection].registerFilter(java.util.Map,java.lang.Class,java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.reflect.Reflection].registerFilter(java.util.Map,java.lang.Class,java.lang.String[])"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 3
    argTypes:
    - "java.util.Map"
    - "java.lang.Class"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.HashMap].<init>(java.util.Map)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.reflect.Reflection:253"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:257"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:256"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.reflect.Reflection:253,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "jdk.internal.reflect.Reflection:254,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "jdk.internal.reflect.Reflection:254,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "jdk.internal.reflect.Reflection:254,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "jdk.internal.reflect.Reflection:254,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "jdk.internal.reflect.Reflection:254,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "jdk.internal.reflect.Reflection:257,1"
      Dst: "[java.util.HashMap].<init>(java.util.Map)"
    - Src: "jdk.internal.reflect.Reflection:258,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.reflect.Reflection].registerMethodsToFilter(java.lang.Class,java.lang.String[])"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.reflect.Reflection].registerFilter(java.util.Map,java.lang.Class,java.lang.String[])"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "jdk.internal.reflect.Reflection:248,1"
      Dst: "[jdk.internal.reflect.Reflection].registerFilter(java.util.Map,java.lang.Class,java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.reflect.Reflection].filterFields(java.lang.Class,java.lang.reflect.Field[])"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionDepth: 1
    returnType: "java.lang.reflect.Field[]"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.reflect.Field[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.reflect.Reflection].filter(java.lang.reflect.Member[],java.lang.String[])"
    - "[com.google.common.collect.HashBiMap$Inverse].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$ColumnMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$NavigableAsMapView].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row].get(java.lang.Object)"
    - "[java.util.jar.Attributes].get(java.lang.Object)"
    - "[com.google.common.cache.LocalCache].get(java.lang.Object)"
    - "[javax.swing.MultiUIDefaults].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$ComplementRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.HashBiMap].get(java.lang.Object)"
    - "[java.util.TreeMap].get(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets].get(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableBiMap].get(java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$ArrayMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$RowMap].get(java.lang.Object)"
    - "[java.util.AbstractMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$RangesByUpperBound].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullComputingConcurrentMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].get(java.lang.Object)"
    - "[java.util.EnumMap].get(java.lang.Object)"
    - "[java.util.WeakHashMap].get(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableBiMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Column].get(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedMultimap$1].get(java.lang.Object)"
    - "[java.util.Hashtable].get(java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullConcurrentMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AsMapView].get(java.lang.Object)"
    - "[java.security.Provider].get(java.lang.Object)"
    - "[java.awt.RenderingHints].get(java.lang.Object)"
    - "[com.google.common.collect.Multimaps$AsMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedMap].get(java.lang.Object)"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableSortedMap].get(java.lang.Object)"
    - "[com.google.common.collect.ImmutableEnumMap].get(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AbstractFilteredMap].get(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableBiMap].get(java.lang.Object)"
    - "[java.util.Properties].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$TransformedEntriesMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse].get(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMap].get(java.lang.Object)"
    - "[java.util.IdentityHashMap].get(java.lang.Object)"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap].get(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$ComputingMapAdapter].get(java.lang.Object)"
    - "[javax.swing.UIDefaults].get(java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 11
    EdgeCount: 55
    BranchProfiles:
    - Branch String: "jdk.internal.reflect.Reflection:264"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:267"
        BranchSideFuncs:
        - "filter(java.lang.reflect.Member[],java.lang.String[])"
        - "get(java.lang.Object)"
    Callsites:
    - Src: "jdk.internal.reflect.Reflection:268,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "jdk.internal.reflect.Reflection:268,1"
      Dst: "[jdk.internal.reflect.Reflection].filter(java.lang.reflect.Member[],java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.reflect.Reflection].filter(java.lang.reflect.Member[],java.lang.String[])"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: 279
    functionLinenumberEnd: 312
    functionDepth: 0
    returnType: "java.lang.reflect.Member[]"
    argCount: 2
    argTypes:
    - "java.lang.reflect.Member[]"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.reflect.Element].getName()"
    - "[java.lang.reflect.Constructor].getName()"
    - "[java.lang.reflect.Field].getName()"
    - "[java.lang.invoke.MemberName].getName()"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.Object].getClass()"
    - "[java.lang.reflect.Array].newInstance(java.lang.Class,int)"
    - "[java.lang.reflect.Member].getName()"
    functionUses: 2
    ICount: 53
    EdgeCount: 12
    BranchProfiles:
    - Branch String: "jdk.internal.reflect.Reflection:280"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:281"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:280"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:280"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:283"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:282"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:284"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:297"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:296"
        BranchSideFuncs:
        - "newInstance(java.lang.Class,int)"
        - "getClass()"
    - Branch String: "jdk.internal.reflect.Reflection:286"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:292"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:291"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:287"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:284"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:283"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:292"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:283"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:282"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:299"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:311"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:310"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:301"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:307"
        BranchSideFuncs:
        - "getName()"
      - BranchSide: "jdk.internal.reflect.Reflection:306"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:302"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:299"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:298"
        BranchSideFuncs: []
    - Branch String: "jdk.internal.reflect.Reflection:307"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:297"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:296"
        BranchSideFuncs:
        - "newInstance(java.lang.Class,int)"
        - "getClass()"
    Callsites:
    - Src: "jdk.internal.reflect.Reflection:287,1"
      Dst: "[java.lang.reflect.Member].getName()"
    - Src: "jdk.internal.reflect.Reflection:297,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "jdk.internal.reflect.Reflection:297,1"
      Dst: "[java.lang.reflect.Array].newInstance(java.lang.Class,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 24
    CyclomaticComplexity: 10
  - functionName: "[jdk.internal.reflect.Reflection].filterMethods(java.lang.Class,java.lang.reflect.Method[])"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionDepth: 1
    returnType: "java.lang.reflect.Method[]"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.reflect.Method[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.reflect.Reflection].filter(java.lang.reflect.Member[],java.lang.String[])"
    - "[com.google.common.collect.HashBiMap$Inverse].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$ColumnMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$NavigableAsMapView].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row].get(java.lang.Object)"
    - "[java.util.jar.Attributes].get(java.lang.Object)"
    - "[com.google.common.cache.LocalCache].get(java.lang.Object)"
    - "[javax.swing.MultiUIDefaults].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$ComplementRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.HashBiMap].get(java.lang.Object)"
    - "[java.util.TreeMap].get(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets].get(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableBiMap].get(java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$ArrayMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$RowMap].get(java.lang.Object)"
    - "[java.util.AbstractMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$RangesByUpperBound].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullComputingConcurrentMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].get(java.lang.Object)"
    - "[java.util.EnumMap].get(java.lang.Object)"
    - "[java.util.WeakHashMap].get(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableBiMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Column].get(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedMultimap$1].get(java.lang.Object)"
    - "[java.util.Hashtable].get(java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullConcurrentMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AsMapView].get(java.lang.Object)"
    - "[java.security.Provider].get(java.lang.Object)"
    - "[java.awt.RenderingHints].get(java.lang.Object)"
    - "[com.google.common.collect.Multimaps$AsMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedMap].get(java.lang.Object)"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableSortedMap].get(java.lang.Object)"
    - "[com.google.common.collect.ImmutableEnumMap].get(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AbstractFilteredMap].get(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableBiMap].get(java.lang.Object)"
    - "[java.util.Properties].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$TransformedEntriesMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse].get(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMap].get(java.lang.Object)"
    - "[java.util.IdentityHashMap].get(java.lang.Object)"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap].get(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$ComputingMapAdapter].get(java.lang.Object)"
    - "[javax.swing.UIDefaults].get(java.lang.Object)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 11
    EdgeCount: 55
    BranchProfiles:
    - Branch String: "jdk.internal.reflect.Reflection:272"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:275"
        BranchSideFuncs:
        - "filter(java.lang.reflect.Member[],java.lang.String[])"
        - "get(java.lang.Object)"
    Callsites:
    - Src: "jdk.internal.reflect.Reflection:276,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "jdk.internal.reflect.Reflection:276,1"
      Dst: "[jdk.internal.reflect.Reflection].filter(java.lang.reflect.Member[],java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[jdk.internal.reflect.Reflection].isCallerSensitive(java.lang.reflect.Method)"
    functionSourceFile: "jdk.internal.reflect.Reflection"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.reflect.Method"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getDeclaringClass()"
    - "[java.lang.Class].getClassLoader()"
    - "[jdk.internal.misc.VM].isSystemDomainLoader(java.lang.ClassLoader)"
    - "[java.lang.reflect.AccessibleObject].isAnnotationPresent(java.lang.Class)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "jdk.internal.reflect.Reflection:320"
      Branch Sides:
      - BranchSide: "jdk.internal.reflect.Reflection:323"
        BranchSideFuncs: []
      - BranchSide: "jdk.internal.reflect.Reflection:322"
        BranchSideFuncs: []
    Callsites:
    - Src: "jdk.internal.reflect.Reflection:319,1"
      Dst: "[java.lang.reflect.Method].getDeclaringClass()"
    - Src: "jdk.internal.reflect.Reflection:319,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "jdk.internal.reflect.Reflection:320,1"
      Dst: "[jdk.internal.misc.VM].isSystemDomainLoader(java.lang.ClassLoader)"
    - Src: "jdk.internal.reflect.Reflection:321,1"
      Dst: "[java.lang.reflect.AccessibleObject].isAnnotationPresent(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_0__55].test(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_0__55"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.JmxMetricPoller].lambda$getMetrics$0(java.lang.Object)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_0__55:-1,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].lambda$getMetrics$0(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].getCounters(com.netflix.servo.stats.StatsConfig)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.List<Counter>"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[com.netflix.servo.stats.StatsConfig].getPublishCount()"
    - "[java.util.List].add(java.lang.Object)"
    - "[com.netflix.servo.stats.StatsConfig].getPublishTotal()"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:265"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:268"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:267"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:268"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:271"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:270"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:264,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:265,1"
      Dst: "[com.netflix.servo.stats.StatsConfig].getPublishCount()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:266,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:268,1"
      Dst: "[com.netflix.servo.stats.StatsConfig].getPublishTotal()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.stats.StatsConfig].getPublishCount()"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig].getPublishTotal()"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].getGaugeWrappers(com.netflix.servo.stats.StatsConfig)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 8
    returnType: "java.util.List<GaugeWrapper>"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.ArrayList].<init>()"
    - "[com.netflix.servo.stats.StatsConfig].getPublishMax()"
    - "[com.netflix.servo.monitor.StatsMonitor$MaxGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.util.List].add(java.lang.Object)"
    - "[com.netflix.servo.stats.StatsConfig].getPublishMin()"
    - "[com.netflix.servo.monitor.StatsMonitor$MinStatGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.stats.StatsConfig].getPublishVariance()"
    - "[com.netflix.servo.monitor.StatsMonitor$VarianceGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.stats.StatsConfig].getPublishStdDev()"
    - "[com.netflix.servo.monitor.StatsMonitor$StdDevGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.stats.StatsConfig].getPublishMean()"
    - "[com.netflix.servo.monitor.StatsMonitor$MeanGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.stats.StatsConfig].getPercentiles()"
    - "[com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig,double,int)"
    - "[java.util.HashSet].<init>()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.monitor.StatsMonitor$GaugeWrapper].getMonitor()"
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    - "[java.util.Set].contains(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[java.util.Set].add(java.lang.Object)"
    functionUses: 0
    ICount: 67
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:277"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:280"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:279"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:280"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:283"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:282"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:283"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:286"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:285"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:286"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:289"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:288"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:289"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:293"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:292"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:294"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:298"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:300"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:309"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:308"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:302"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:306"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:305"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:275,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:277,1"
      Dst: "[com.netflix.servo.stats.StatsConfig].getPublishMax()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:278,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$MaxGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:278,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:280,1"
      Dst: "[com.netflix.servo.stats.StatsConfig].getPublishMin()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:281,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$MinStatGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:283,1"
      Dst: "[com.netflix.servo.stats.StatsConfig].getPublishVariance()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:284,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$VarianceGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:286,1"
      Dst: "[com.netflix.servo.stats.StatsConfig].getPublishStdDev()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:287,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$StdDevGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:289,1"
      Dst: "[com.netflix.servo.stats.StatsConfig].getPublishMean()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:290,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$MeanGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:293,1"
      Dst: "[com.netflix.servo.stats.StatsConfig].getPercentiles()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:295,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig,double,int)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:299,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:300,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:300,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:300,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:301,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$GaugeWrapper].getMonitor()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:301,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:302,1"
      Dst: "[java.util.Set].contains(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:303,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:303,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:303,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:303,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:303,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:306,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 19
    CyclomaticComplexity: 8
  - functionName: "[com.netflix.servo.stats.StatsConfig].getPublishMax()"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$MaxGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$MaxGaugeWrapper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor].access$100()"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.StatsMonitor$LongGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$MaxGaugeWrapper:190,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].access$100()"
    - Src: "com.netflix.servo.monitor.StatsMonitor$MaxGaugeWrapper:190,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$MaxGaugeWrapper:190,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$LongGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].access$100()"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.tag.Tag"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig].getPublishMin()"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].access$000()"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.tag.Tag"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig].getPublishVariance()"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$VarianceGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$VarianceGaugeWrapper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor].access$300()"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$VarianceGaugeWrapper:212,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].access$300()"
    - Src: "com.netflix.servo.monitor.StatsMonitor$VarianceGaugeWrapper:212,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$VarianceGaugeWrapper:212,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].access$300()"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.tag.Tag"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig].getPublishStdDev()"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$StdDevGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$StdDevGaugeWrapper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor].access$400()"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$StdDevGaugeWrapper:223,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].access$400()"
    - Src: "com.netflix.servo.monitor.StatsMonitor$StdDevGaugeWrapper:223,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$StdDevGaugeWrapper:223,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].access$400()"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.tag.Tag"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig].getPublishMean()"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$MeanGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$MeanGaugeWrapper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor].access$200()"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$MeanGaugeWrapper:201,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].access$200()"
    - Src: "com.netflix.servo.monitor.StatsMonitor$MeanGaugeWrapper:201,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$MeanGaugeWrapper:201,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].access$200()"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.tag.Tag"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig].getPercentiles()"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].copyOf(double[],int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.stats.StatsConfig:247,1"
      Dst: "[java.util.Arrays].copyOf(double[],int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig,double,int)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "double"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper].percentileTag(double)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:246,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper].percentileTag(double)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:246,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:246,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper].percentileTag(double)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.netflix.servo.tag.Tag"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].valueOf(double)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.String].endsWith(java.lang.String)"
    - "[java.lang.String].length()"
    - "[java.lang.String].substring(int,int)"
    - "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:238"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:242"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:241"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:237,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:237,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:238,1"
      Dst: "[java.lang.String].endsWith(java.lang.String)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:239,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:239,1"
      Dst: "[java.lang.String].substring(int,int)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:242,1"
      Dst: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.stats.StatsConfig,java.util.concurrent.ScheduledExecutorService,java.lang.String,boolean,com.netflix.servo.tag.Tag[])"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 6
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.stats.StatsConfig"
    - "java.util.concurrent.ScheduledExecutorService"
    - "java.lang.String"
    - "boolean"
    - "com.netflix.servo.tag.Tag[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.stats.StatsConfig,java.util.concurrent.ScheduledExecutorService,java.lang.String,boolean,com.netflix.servo.util.Clock,com.netflix.servo.tag.Tag[])"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:326,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.stats.StatsConfig,java.util.concurrent.ScheduledExecutorService,java.lang.String,boolean,com.netflix.servo.util.Clock,com.netflix.servo.tag.Tag[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.stats.StatsConfig,java.util.concurrent.ScheduledExecutorService,java.lang.String,boolean,com.netflix.servo.util.Clock,com.netflix.servo.tag.Tag[])"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 7
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.stats.StatsConfig"
    - "java.util.concurrent.ScheduledExecutorService"
    - "java.lang.String"
    - "boolean"
    - "com.netflix.servo.util.Clock"
    - "com.netflix.servo.tag.Tag[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicReference].<init>()"
    - "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[com.netflix.servo.tag.BasicTagList].<init>(java.lang.Iterable)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.util.Clock].now()"
    - "[com.netflix.servo.stats.StatsConfig].getSampleSize()"
    - "[com.netflix.servo.stats.StatsConfig].getPercentiles()"
    - "[com.netflix.servo.stats.StatsBuffer].<init>(int,double[])"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.BasicCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.StatsMonitor].getGaugeWrappers(com.netflix.servo.stats.StatsConfig)"
    - "[java.util.Collection].stream()"
    - "[com.netflix.servo.monitor.StatsMonitor$getMonitor__70].bootstrap$()"
    - "[java.util.stream.Stream].map(java.util.function.Function)"
    - "[java.util.stream.Collectors].toList()"
    - "[java.util.stream.Stream].collect(java.util.stream.Collector)"
    - "[java.util.ArrayList].<init>()"
    - "[com.netflix.servo.monitor.StatsMonitor].getCounters(com.netflix.servo.stats.StatsConfig)"
    - "[java.util.List].addAll(java.util.Collection)"
    - "[java.util.Collections].unmodifiableList(java.util.List)"
    - "[com.netflix.servo.monitor.StatsMonitor$lambda_new_0__71].bootstrap$(com.netflix.servo.monitor.StatsMonitor,java.util.concurrent.ScheduledExecutorService,com.netflix.servo.stats.StatsConfig)"
    - "[com.netflix.servo.monitor.StatsMonitor].startComputingStats()"
    functionUses: 0
    ICount: 68
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:367"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:370"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:369"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:345,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:82,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:99,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].<init>()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:346,1"
      Dst: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:347,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "com.netflix.servo.monitor.StatsMonitor:347,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].<init>(java.lang.Iterable)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:347,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:349,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:352,1"
      Dst: "[com.netflix.servo.stats.StatsConfig].getSampleSize()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:352,1"
      Dst: "[com.netflix.servo.stats.StatsConfig].getPercentiles()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:352,1"
      Dst: "[com.netflix.servo.stats.StatsBuffer].<init>(int,double[])"
    - Src: "com.netflix.servo.monitor.StatsMonitor:354,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:354,1"
      Dst: "[com.netflix.servo.monitor.BasicCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:356,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].getGaugeWrappers(com.netflix.servo.stats.StatsConfig)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:357,1"
      Dst: "[java.util.Collection].stream()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:357,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$getMonitor__70].bootstrap$()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:358,1"
      Dst: "[java.util.stream.Stream].map(java.util.function.Function)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:358,1"
      Dst: "[java.util.stream.Collectors].toList()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:358,1"
      Dst: "[java.util.stream.Stream].collect(java.util.stream.Collector)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:360,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:361,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].getCounters(com.netflix.servo.stats.StatsConfig)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:361,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:363,1"
      Dst: "[java.util.Collections].unmodifiableList(java.util.List)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:365,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$lambda_new_0__71].bootstrap$(com.netflix.servo.monitor.StatsMonitor,java.util.concurrent.ScheduledExecutorService,com.netflix.servo.stats.StatsConfig)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:368,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].startComputingStats()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor$lambda_initializeSpectator_1__25].bootstrap$(com.netflix.servo.tag.TagList)"
    - "[java.util.ArrayList].forEach(java.util.function.Consumer)"
    - "[java.util.concurrent.CopyOnWriteArrayList].forEach(java.util.function.Consumer)"
    - "[java.lang.Iterable].forEach(java.util.function.Consumer)"
    - "[java.util.Vector].forEach(java.util.function.Consumer)"
    functionUses: 6
    ICount: 6
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:377,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$lambda_initializeSpectator_1__25].bootstrap$(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:377,1"
      Dst: "[java.lang.Iterable].forEach(java.util.function.Consumer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$lambda_initializeSpectator_1__25].bootstrap$(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$lambda_initializeSpectator_1__25"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.Consumer"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor$lambda_initializeSpectator_1__25].<init>(com.netflix.servo.tag.TagList)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$lambda_initializeSpectator_1__25:-1,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$lambda_initializeSpectator_1__25].<init>(com.netflix.servo.tag.TagList)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$lambda_initializeSpectator_1__25].<init>(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$lambda_initializeSpectator_1__25"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$lambda_initializeSpectator_1__25:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].computeStats()"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[com.netflix.servo.util.Clock].now()"
    - "[java.util.concurrent.atomic.AtomicReference].getAndSet(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object)"
    - "[java.util.concurrent.Future].cancel(boolean)"
    - "[com.netflix.servo.stats.StatsBuffer].computeStats()"
    - "[com.netflix.servo.monitor.StatsMonitor].updateGauges()"
    - "[com.netflix.servo.stats.StatsBuffer].reset()"
    - "[com.netflix.servo.monitor.StatsMonitor].handleException(java.lang.Exception)"
    functionUses: 0
    ICount: 47
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:386"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:389"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:388"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:389"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:389"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:388"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:390"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:399"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:398"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:392"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:396"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:395"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:386,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:389,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:391,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].getAndSet(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:393,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:393,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:393,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:394,1"
      Dst: "[java.util.concurrent.Future].cancel(boolean)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:404,1"
      Dst: "[com.netflix.servo.stats.StatsBuffer].computeStats()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:405,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].updateGauges()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:406,1"
      Dst: "[com.netflix.servo.stats.StatsBuffer].reset()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:408,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].handleException(java.lang.Exception)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 14
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.stats.StatsBuffer].computeStats()"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].getAndSet(boolean)"
    - "[java.util.Arrays].sort(long[],int,int)"
    - "[java.lang.Math].sqrt(double)"
    - "[com.netflix.servo.stats.StatsBuffer].computePercentiles(int)"
    functionUses: 0
    ICount: 68
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.stats.StatsBuffer:106"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:110"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:109"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsBuffer:110"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:114"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:113"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsBuffer:120"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:123"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsBuffer:125"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:128"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:127"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.stats.StatsBuffer:106,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].getAndSet(boolean)"
    - Src: "com.netflix.servo.stats.StatsBuffer:114,1"
      Dst: "[java.util.Arrays].sort(long[],int,int)"
    - Src: "com.netflix.servo.stats.StatsBuffer:130,1"
      Dst: "[java.lang.Math].sqrt(double)"
    - Src: "com.netflix.servo.stats.StatsBuffer:132,1"
      Dst: "[com.netflix.servo.stats.StatsBuffer].computePercentiles(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.stats.StatsBuffer].computePercentiles(int)"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.stats.StatsBuffer].calcPercentile(int,double)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.stats.StatsBuffer:136"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:138"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.stats.StatsBuffer:137,1"
      Dst: "[com.netflix.servo.stats.StatsBuffer].calcPercentile(int,double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.stats.StatsBuffer].calcPercentile(int,double)"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double"
    argCount: 2
    argTypes:
    - "int"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Math].floor(double)"
    functionUses: 0
    ICount: 40
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.stats.StatsBuffer:142"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:145"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:144"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsBuffer:145"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:153"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:152"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsBuffer:157"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:159"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:158"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsBuffer:159"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:163"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:162"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.stats.StatsBuffer:154,1"
      Dst: "[java.lang.Math].floor(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].updateGauges()"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.monitor.StatsMonitor$GaugeWrapper].update(com.netflix.servo.stats.StatsBuffer)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:428"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:431"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:430"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:428,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:428,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:428,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:429,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor$GaugeWrapper].update(com.netflix.servo.stats.StatsBuffer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.stats.StatsBuffer].reset()"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.stats.StatsBuffer:87"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:89"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.stats.StatsBuffer:78,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].handleException(java.lang.Exception)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Exception"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:480,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].startComputingStats()"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Runnable].run()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:418,1"
      Dst: "[java.lang.Runnable].run()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].getMonitors()"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionDepth: 1
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor].getCount(int)"
    - "[com.netflix.servo.monitor.PeakRateCounter].getValue(int)"
    - "[com.netflix.servo.monitor.StepCounter].getValue(int)"
    - "[com.netflix.servo.monitor.BasicCounter].getValue(int)"
    - "[com.netflix.servo.monitor.ContextualCounter].getValue(int)"
    - "[java.lang.Integer].longValue()"
    - "[com.netflix.spectator.impl.AtomicDouble].longValue()"
    - "[java.util.concurrent.atomic.AtomicLong].longValue()"
    - "[com.google.common.cache.LongAdder].longValue()"
    - "[java.lang.Long].longValue()"
    - "[java.math.BigInteger].longValue()"
    - "[java.util.concurrent.atomic.AtomicInteger].longValue()"
    - "[com.google.common.primitives.UnsignedInteger].longValue()"
    - "[java.math.BigDecimal].longValue()"
    - "[java.lang.Double].longValue()"
    - "[java.util.concurrent.atomic.LongAdder].longValue()"
    - "[java.lang.Byte].longValue()"
    - "[java.lang.Float].longValue()"
    - "[com.google.common.util.concurrent.AtomicDouble].longValue()"
    - "[com.google.common.primitives.UnsignedLong].longValue()"
    - "[java.lang.Short].longValue()"
    - "[java.lang.Long].valueOf(long)"
    - "[com.netflix.servo.monitor.Monitor].getValue(int)"
    - "[java.lang.Number].longValue()"
    functionUses: 3
    ICount: 15
    EdgeCount: 22
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:464"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:462"
        BranchSideFuncs:
        - "getCount(int)"
        - "getValue(int)"
        - "longValue()"
        - "valueOf(long)"
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:463,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].getCount(int)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:464,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue(int)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:464,1"
      Dst: "[java.lang.Number].longValue()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:464,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].getCount(int)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: 517
    functionLinenumberEnd: 519
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.ContextualCounter].getValue(int)"
    - "[com.netflix.servo.monitor.PeakRateCounter].getValue(int)"
    - "[com.netflix.servo.monitor.StepCounter].getValue(int)"
    - "[com.netflix.servo.monitor.BasicCounter].getValue(int)"
    - "[java.lang.Integer].longValue()"
    - "[com.netflix.spectator.impl.AtomicDouble].longValue()"
    - "[java.util.concurrent.atomic.AtomicLong].longValue()"
    - "[com.google.common.cache.LongAdder].longValue()"
    - "[java.lang.Long].longValue()"
    - "[java.math.BigInteger].longValue()"
    - "[java.util.concurrent.atomic.AtomicInteger].longValue()"
    - "[com.google.common.primitives.UnsignedInteger].longValue()"
    - "[java.math.BigDecimal].longValue()"
    - "[java.lang.Double].longValue()"
    - "[java.util.concurrent.atomic.LongAdder].longValue()"
    - "[java.lang.Byte].longValue()"
    - "[java.lang.Float].longValue()"
    - "[com.google.common.util.concurrent.AtomicDouble].longValue()"
    - "[com.google.common.primitives.UnsignedLong].longValue()"
    - "[java.lang.Short].longValue()"
    - "[com.netflix.servo.monitor.Monitor].getValue(int)"
    - "[java.lang.Number].longValue()"
    functionUses: 1
    ICount: 7
    EdgeCount: 20
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:518,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue(int)"
    - Src: "com.netflix.servo.monitor.StatsMonitor:518,1"
      Dst: "[java.lang.Number].longValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].getValue()"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: 469
    functionLinenumberEnd: 471
    functionDepth: 2
    returnType: "java.lang.Long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor].getValue(int)"
    functionUses: 6
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:470,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].getValue(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].lambda$initializeSpectator$1(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: 377
    functionLinenumberEnd: 382
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.tag.TagList"
    - "com.netflix.servo.monitor.Monitor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DoubleMaxGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.NumberGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.StatsMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BucketTimer].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.StepCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DoubleCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DynamicCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.LongGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DynamicGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DynamicTimer].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DoubleGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MaxGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicTimer].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.SpectatorMonitorWrapper].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.SpectatorMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionUses: 1
    ICount: 7
    EdgeCount: 20
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.StatsMonitor:378"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:381"
        BranchSideFuncs:
        - "initializeSpectator(com.netflix.servo.tag.TagList)"
      - BranchSide: "com.netflix.servo.monitor.StatsMonitor:380"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:379,1"
      Dst: "[com.netflix.servo.monitor.SpectatorMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.StatsMonitor].lambda$new$0(java.util.concurrent.ScheduledExecutorService,com.netflix.servo.stats.StatsConfig)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.util.concurrent.ScheduledExecutorService"
    - "com.netflix.servo.stats.StatsConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.stats.StatsConfig].getFrequencyMillis()"
    - "[com.netflix.servo.monitor.StatsMonitor].startComputingStats(java.util.concurrent.ScheduledExecutorService,long)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor:366,1"
      Dst: "[com.netflix.servo.stats.StatsConfig].getFrequencyMillis()"
    - Src: "com.netflix.servo.monitor.StatsMonitor:366,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].startComputingStats(java.util.concurrent.ScheduledExecutorService,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$lambda_initializeSpectator_1__25].accept(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$lambda_initializeSpectator_1__25"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor].lambda$initializeSpectator$1(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$lambda_initializeSpectator_1__25:-1,1"
      Dst: "[com.netflix.servo.monitor.StatsMonitor].lambda$initializeSpectator$1(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.Metric].hasNumberValue()"
    functionSourceFile: "com.netflix.servo.Metric"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.Metric].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.Metric"
    linkageType: ""
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.netflix.servo.Metric].getConfig()"
    - "[com.netflix.servo.Metric].getTimestamp()"
    - "[com.google.common.net.HostAndPort].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingTable].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.PositiveLookaheadMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.Maps$MapDifferenceImpl].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.SortedTagList].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MinGauge].equals(java.lang.Object)"
    - "[java.lang.Byte].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.nodes.Node].equals(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedSet].equals(java.lang.Object)"
    - "[com.google.common.reflect.TypeParameter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.LongGauge].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableRangeSet].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeMultiset].equals(java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsTimer].equals(java.lang.Object)"
    - "[com.netflix.servo.stats.StatsConfig].equals(java.lang.Object)"
    - "[com.google.common.collect.ByFunctionOrdering].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$SupplierFunction].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$ForMapWithDefault].equals(java.lang.Object)"
    - "[com.google.common.base.Suppliers$SupplierOfInstance].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BucketTimer].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableList].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeBasedTable].equals(java.lang.Object)"
    - "[com.netflix.spectator.api.DefaultId].equals(java.lang.Object)"
    - "[com.google.common.collect.Cut].equals(java.lang.Object)"
    - "[com.google.common.collect.ExplicitOrdering].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicCounter].equals(java.lang.Object)"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableSet].equals(java.lang.Object)"
    - "[com.google.common.primitives.Longs$LongArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$ContainsPatternPredicate].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.IgnoreCaseMatcher].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.AsciiSet].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$ConstantFunction].equals(java.lang.Object)"
    - "[com.google.common.net.HostSpecifier].equals(java.lang.Object)"
    - "[org.slf4j.helpers.BasicMarker].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractTable].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DurationTimer].equals(java.lang.Object)"
    - "[java.lang.Double].equals(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].equals(java.lang.Object)"
    - "[com.google.common.collect.ReverseOrdering].equals(java.lang.Object)"
    - "[java.lang.Long].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$NotPredicate].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedSet].equals(java.lang.Object)"
    - "[java.lang.Short].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableTable].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapEntry].equals(java.lang.Object)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].equals(java.lang.Object)"
    - "[bsh.BshClassManager$SignatureKey].equals(java.lang.Object)"
    - "[com.google.common.reflect.ClassPath$ResourceInfo].equals(java.lang.Object)"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.reflect.TypeToken].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractListMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractRangeSet].equals(java.lang.Object)"
    - "[org.testng.internal.ConstructorOrMethod].equals(java.lang.Object)"
    - "[com.google.common.hash.Funnels$StringCharsetFunnel].equals(java.lang.Object)"
    - "[com.google.common.collect.Maps$UnmodifiableEntrySet].equals(java.lang.Object)"
    - "[com.netflix.spectator.api.BasicTag].equals(java.lang.Object)"
    - "[com.netflix.servo.Metric].equals(java.lang.Object)"
    - "[com.google.common.collect.Range].equals(java.lang.Object)"
    - "[org.testng.xml.XmlSuite].equals(java.lang.Object)"
    - "[org.testng.remote.strprotocol.TestResultMessage].equals(java.lang.Object)"
    - "[com.google.common.base.Converter$ConverterComposition].equals(java.lang.Object)"
    - "[com.google.common.cache.CacheBuilderSpec].equals(java.lang.Object)"
    - "[com.netflix.servo.util.ExpiringCache$Entry].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].equals(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableSortedSet].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMultimap].equals(java.lang.Object)"
    - "[com.google.common.eventbus.EventSubscriber].equals(java.lang.Object)"
    - "[com.google.common.reflect.Types$TypeVariableImpl].equals(java.lang.Object)"
    - "[com.google.common.reflect.Types$WildcardTypeImpl].equals(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntrySet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].equals(java.lang.Object)"
    - "[com.google.common.collect.CompoundOrdering].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BucketConfig].equals(java.lang.Object)"
    - "[com.google.common.reflect.Parameter].equals(java.lang.Object)"
    - "[com.google.common.collect.Interners$InternerFunction].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableRangeMap].equals(java.lang.Object)"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMultimap].equals(java.lang.Object)"
    - "[com.google.common.base.Enums$StringConverter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleGauge].equals(java.lang.Object)"
    - "[com.google.common.base.CaseFormat$StringConverter].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$AsRanges].equals(java.lang.Object)"
    - "[org.testng.internal.annotations.JDK15AnnotationFinder$Pair].equals(java.lang.Object)"
    - "[com.google.common.reflect.Element].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MaxGauge].equals(java.lang.Object)"
    - "[com.google.common.collect.GeneralRange].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.nodes.Tag].equals(java.lang.Object)"
    - "[com.google.common.collect.Sets$PowerSet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.NumberGauge].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedList].equals(java.lang.Object)"
    - "[com.google.common.hash.BloomFilter].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.StartsWithMatcher].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicGauge].equals(java.lang.Object)"
    - "[com.google.common.collect.HashBasedTable].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$OrPredicate].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicTimer].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.BasicTag].equals(java.lang.Object)"
    - "[com.google.common.collect.LinkedHashMultimap].equals(java.lang.Object)"
    - "[com.netflix.servo.util.ManualClock].equals(java.lang.Object)"
    - "[org.testng.xml.XmlClass].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$CompositionPredicate].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$PredicateFunction].equals(java.lang.Object)"
    - "[com.google.common.collect.HashMultiset].equals(java.lang.Object)"
    - "[com.google.common.base.PairwiseEquivalence].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingList].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.SeqMatcher].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.OrMatcher].equals(java.lang.Object)"
    - "[java.lang.Integer].equals(java.lang.Object)"
    - "[com.google.common.collect.NullsLastOrdering].equals(java.lang.Object)"
    - "[com.google.common.collect.EmptyContiguousSet].equals(java.lang.Object)"
    - "[com.google.common.reflect.AbstractInvocationHandler].equals(java.lang.Object)"
    - "[com.google.common.collect.LinkedHashMultiset].equals(java.lang.Object)"
    - "[com.google.common.base.Equivalence$EquivalentToPredicate].equals(java.lang.Object)"
    - "[com.google.common.eventbus.AnnotatedSubscriberFinder$MethodIdentifier].equals(java.lang.Object)"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$FunctionForMapNoDefault].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.tokens.Token].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMultiset].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleCounter].equals(java.lang.Object)"
    - "[org.testng.xml.XmlPackage].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMultiset].equals(java.lang.Object)"
    - "[com.google.common.base.Enums$ValueOfFunction].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.CharClassMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.Multisets$AbstractEntry].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].equals(java.lang.Object)"
    - "[com.google.common.reflect.Invokable].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.CharSeqMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$InPredicate].equals(java.lang.Object)"
    - "[com.google.common.net.InternetDomainName].equals(java.lang.Object)"
    - "[com.google.common.collect.LinkedListMultimap].equals(java.lang.Object)"
    - "[java.io.File].equals(java.lang.Object)"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].equals(java.lang.Object)"
    - "[com.netflix.spectator.api.Measurement].equals(java.lang.Object)"
    - "[com.google.common.hash.Funnels$SequentialFunnel].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsMonitor].equals(java.lang.Object)"
    - "[com.google.common.collect.ConcurrentHashMultiset].equals(java.lang.Object)"
    - "[bsh.Primitive].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.EnumMultiset].equals(java.lang.Object)"
    - "[org.testng.xml.XmlInclude].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].equals(java.lang.Object)"
    - "[com.google.common.collect.ArrayTable].equals(java.lang.Object)"
    - "[com.google.common.collect.Maps$ValueDifferenceImpl].equals(java.lang.Object)"
    - "[com.google.common.collect.ArrayListMultimap].equals(java.lang.Object)"
    - "[com.google.common.reflect.Types$GenericArrayTypeImpl].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.ZeroOrOneMatcher].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.IndexOfMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableSet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AnnotatedStringMonitor].equals(java.lang.Object)"
    - "[com.google.common.base.Present].equals(java.lang.Object)"
    - "[com.google.common.base.Converter].equals(java.lang.Object)"
    - "[com.google.common.hash.Hashing$ConcatenatedHashFunction].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.events.Event].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.BasicTagList].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$IsEqualToPredicate].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorWrapper].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMultiset].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractSetMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].equals(java.lang.Object)"
    - "[com.google.common.base.Converter$ReverseConverter].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleReferenceImpl].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.SmallTagMap].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMultimap$EntrySet].equals(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSet].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.NegativeLookaheadMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.Sets$CartesianSet].equals(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].equals(java.lang.Object)"
    - "[com.google.common.net.MediaType].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet].equals(java.lang.Object)"
    - "[com.google.common.collect.ComparatorOrdering].equals(java.lang.Object)"
    - "[java.lang.Float].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicInformational].equals(java.lang.Object)"
    - "[com.google.common.collect.NullsFirstOrdering].equals(java.lang.Object)"
    - "[com.google.common.collect.LexicographicalOrdering].equals(java.lang.Object)"
    - "[com.google.common.collect.Maps$BiMapConverter].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.ZeroOrMoreMatcher].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Handle].equals(java.lang.Object)"
    - "[com.google.common.reflect.Types$ParameterizedTypeImpl].equals(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableList].equals(java.lang.Object)"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].equals(java.lang.Object)"
    - "[com.google.common.collect.Tables$AbstractCell].equals(java.lang.Object)"
    - "[java.lang.Character].equals(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1$1].equals(java.lang.Object)"
    - "[java.lang.Boolean].equals(java.lang.Object)"
    - "[org.testng.xml.XmlMethodSelector].equals(java.lang.Object)"
    - "[com.google.common.collect.HashMultimap].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.RepeatMatcher].equals(java.lang.Object)"
    - "[org.testng.xml.XmlTest].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMultiset].equals(java.lang.Object)"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap$WriteThroughEntry].equals(java.lang.Object)"
    - "[com.google.common.base.FunctionalEquivalence].equals(java.lang.Object)"
    - "[com.google.common.hash.HashCode].equals(java.lang.Object)"
    - "[jdk.internal.misc.Signal].equals(java.lang.Object)"
    - "[com.google.common.base.Suppliers$SupplierComposition].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$FunctionComposition].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMapEntry].equals(java.lang.Object)"
    - "[com.google.common.primitives.Ints$IntArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].equals(java.lang.Object)"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.cache.RemovalNotification].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsMonitor$LongGaugeWrapper].equals(java.lang.Object)"
    - "[com.google.common.collect.Sets$FilteredSet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].equals(java.lang.Object)"
    - "[com.google.common.base.Equivalence$Wrapper].equals(java.lang.Object)"
    - "[com.google.common.primitives.Chars$CharArrayAsList].equals(java.lang.Object)"
    - "[com.netflix.spectator.api.ArrayTagSet].equals(java.lang.Object)"
    - "[org.testng.internal.BaseTestMethod].equals(java.lang.Object)"
    - "[com.google.common.collect.FilteredKeySetMultimap$EntrySet].equals(java.lang.Object)"
    - "[jdk.internal.jimage.ImageReader$Node].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$AndPredicate].equals(java.lang.Object)"
    - "[com.google.common.hash.BloomFilterStrategies$BitArray].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleHashes].equals(java.lang.Object)"
    - "[com.google.common.collect.RegularContiguousSet].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingSet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.PeakRateCounter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StepCounter].equals(java.lang.Object)"
    - "[com.google.common.base.Absent:com.google.common.base.Predicates$AssignableFromPredicate:com.google.common.base.Predicates$InstanceOfPredicate:com.google.common.cache.CacheStats:com.google.common.collect.Count:com.google.common.collect.ImmutableEnumSet:com.google.common.hash.Murmur3_128HashFunction:com.google.common.hash.Murmur3_32HashFunction:com.google.common.hash.SipHashFunction:com.google.common.primitives.UnsignedInteger:com.google.common.primitives.UnsignedLong:com.netflix.servo.Metric:java.awt.AWTKeyStroke:java.awt.AlphaComposite:java.awt.BasicStroke:java.awt.Color:java.awt.Dimension:java.awt.DisplayMode:java.awt.Font:java.awt.Insets:java.awt.JobAttributes:java.awt.MenuShortcut:java.awt.PageAttributes:java.awt.Point:java.awt.Rectangle:java.awt.RenderingHints:java.awt.RenderingHints$Key:java.awt.datatransfer.DataFlavor:java.awt.datatransfer.MimeType:java.awt.datatransfer.MimeTypeParameterList:java.awt.font.FontRenderContext:java.awt.font.NumericShaper:java.awt.font.TextHitInfo:java.awt.font.TransformAttribute:java.awt.geom.AffineTransform:java.awt.geom.Point2D:java.awt.geom.Rectangle2D:java.awt.image.ColorModel:java.awt.image.IndexColorModel:java.beans.IndexedPropertyDescriptor:java.beans.PropertyDescriptor:java.io.FilePermission:java.lang.Character$Subset:java.lang.Enum:java.lang.Object:java.lang.ProcessBuilder$Redirect:java.lang.ProcessHandleImpl:java.lang.Runtime$Version:java.lang.StackTraceElement:java.lang.Thread$WeakClassKey:java.lang.invoke.ClassSpecializer$SpeciesData:java.lang.invoke.LambdaForm:java.lang.invoke.LambdaForm$Name:java.lang.invoke.LambdaForm$NamedFunction:java.lang.invoke.LambdaFormEditor$Transform:java.lang.invoke.MemberName:java.lang.invoke.MethodType:java.lang.invoke.StringConcatFactory$Key:java.lang.invoke.StringConcatFactory$Recipe:java.lang.invoke.StringConcatFactory$RecipeElement:java.lang.module.ModuleDescriptor:java.lang.module.ModuleDescriptor$Exports:java.lang.module.ModuleDescriptor$Opens:java.lang.module.ModuleDescriptor$Provides:java.lang.module.ModuleDescriptor$Requires:java.lang.module.ModuleDescriptor$Version:java.lang.module.ResolvedModule:java.lang.reflect.Constructor:java.lang.reflect.Field:java.lang.reflect.Method:java.lang.reflect.Parameter:java.math.BigDecimal:java.math.BigInteger:java.math.MathContext:java.net.HttpCookie:java.net.Inet4Address:java.net.Inet6Address:java.net.Inet6Address$Inet6AddressHolder:java.net.InetAddress:java.net.InterfaceAddress:java.net.NetworkInterface:java.net.Proxy:java.net.SocketPermission:java.net.URI:java.net.URL:java.nio.ByteBuffer:java.nio.CharBuffer:java.nio.DoubleBuffer:java.nio.FloatBuffer:java.nio.IntBuffer:java.nio.LongBuffer:java.nio.ShortBuffer:java.nio.charset.Charset:java.nio.file.attribute.FileTime:java.security.AccessControlContext:java.security.AllPermission:java.security.BasicPermission:java.security.CodeSigner:java.security.CodeSource:java.security.Provider$ServiceKey:java.security.Timestamp:java.security.cert.CertPath:java.security.cert.Certificate:java.text.AttributedCharacterIterator$Attribute:java.text.Collator:java.text.DateFormat:java.text.DateFormatSymbols:java.text.DecimalFormat:java.text.DecimalFormatSymbols:java.text.DigitList:java.text.FieldPosition:java.text.MessageFormat:java.text.NumberFormat:java.text.ParsePosition:java.text.SimpleDateFormat:java.text.StringCharacterIterator:java.time.Clock:java.time.Duration:java.time.Instant:java.time.LocalDate:java.time.LocalDateTime:java.time.LocalTime:java.time.OffsetDateTime:java.time.OffsetTime:java.time.Period:java.time.ZoneId:java.time.ZoneOffset:java.time.ZonedDateTime:java.time.chrono.AbstractChronology:java.time.format.DecimalStyle:java.time.temporal.ValueRange:java.time.zone.ZoneOffsetTransition:java.time.zone.ZoneOffsetTransitionRule:java.time.zone.ZoneRules:java.util.AbstractList:java.util.AbstractMap:java.util.AbstractSet:java.util.ArrayList:java.util.BitSet:java.util.Calendar:java.util.Date:java.util.EnumMap:java.util.GregorianCalendar:java.util.HashMap$Node:java.util.Hashtable:java.util.Hashtable$Entry:java.util.IdentityHashMap:java.util.Locale:java.util.Optional:java.util.OptionalDouble:java.util.OptionalInt:java.util.OptionalLong:java.util.Properties:java.util.PropertyPermission:java.util.ResourceBundle$CacheKey:java.util.TreeMap$Entry:java.util.UUID:java.util.Vector:java.util.WeakHashMap$Entry:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView:java.util.concurrent.ConcurrentHashMap$Node:java.util.concurrent.CopyOnWriteArrayList:java.util.concurrent.CopyOnWriteArraySet:java.util.jar.Attributes:java.util.jar.Attributes$Name:java.util.jar.Manifest:java.util.logging.Level:java.util.logging.LogManager$CloseOnReset:java.util.zip.ZipFile$Source$Key:javax.crypto.CryptoPermission:javax.management.Attribute:javax.management.MBeanAttributeInfo:javax.management.MBeanConstructorInfo:javax.management.MBeanFeatureInfo:javax.management.MBeanInfo:javax.management.MBeanNotificationInfo:javax.management.MBeanOperationInfo:javax.management.MBeanParameterInfo:javax.management.ObjectInstance:javax.management.ObjectName:javax.management.openmbean.CompositeType:javax.management.openmbean.TabularType:javax.print.DocFlavor:javax.print.MimeType:javax.security.auth.Subject:javax.swing.text.DefaultCaret:javax.swing.text.SimpleAttributeSet:javax.swing.text.StyleContext$FontKey:javax.swing.text.StyleContext$SmallAttributeSet:javax.swing.text.TabSet:javax.swing.text.TabStop:javax.swing.tree.TreePath:jdk.internal.org.objectweb.asm.Type:sun.font.AttributeValues:sun.font.CoreMetrics:sun.font.FontLineMetrics:sun.font.FontStrikeDesc:sun.java2d.loops.CompositeType:sun.java2d.loops.SurfaceType:sun.java2d.pipe.Region:sun.nio.ch.FileKey:sun.nio.fs.UnixFileStore:sun.nio.fs.UnixPath:sun.util.calendar.CalendarDate:sun.util.calendar.Era:sun.util.locale.BaseLocale:sun.util.locale.BaseLocale$Key:sun.util.locale.LocaleExtensions].getValue()"
    - "[com.netflix.servo.Metric].getValue()"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 39
    ICount: 23
    EdgeCount: 237
    BranchProfiles:
    - Branch String: "com.netflix.servo.Metric:95"
      Branch Sides:
      - BranchSide: "com.netflix.servo.Metric:96"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.Metric:95"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.Metric:95"
      Branch Sides:
      - BranchSide: "com.netflix.servo.Metric:98"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.Metric:97"
        BranchSideFuncs:
        - "getConfig()"
    - Branch String: "com.netflix.servo.Metric:99"
      Branch Sides:
      - BranchSide: "com.netflix.servo.Metric:-1"
        BranchSideFuncs:
        - "getTimestamp()"
      - BranchSide: "com.netflix.servo.Metric:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.Metric:100"
      Branch Sides:
      - BranchSide: "com.netflix.servo.Metric:-1"
        BranchSideFuncs:
        - "getValue()"
        - "equals(java.lang.Object)"
      - BranchSide: "com.netflix.servo.Metric:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.Metric:101"
      Branch Sides:
      - BranchSide: "com.netflix.servo.Metric:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.Metric:99,1"
      Dst: "[com.netflix.servo.Metric].getConfig()"
    - Src: "com.netflix.servo.Metric:99,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.Metric:100,1"
      Dst: "[com.netflix.servo.Metric].getTimestamp()"
    - Src: "com.netflix.servo.Metric:101,1"
      Dst: "[com.netflix.servo.Metric].getValue()"
    - Src: "com.netflix.servo.Metric:101,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[com.netflix.servo.Metric].hashCode()"
    functionSourceFile: "com.netflix.servo.Metric"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.google.common.base.Functions$ConstantFunction].hashCode()"
    - "[com.google.common.collect.AbstractRangeSet].hashCode()"
    - "[com.netflix.spectator.impl.matcher.CharSeqMatcher].hashCode()"
    - "[com.google.common.collect.Range].hashCode()"
    - "[com.netflix.servo.stats.StatsConfig].hashCode()"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].hashCode()"
    - "[com.google.common.collect.ForwardingMultimap].hashCode()"
    - "[com.google.common.collect.ArrayListMultimap].hashCode()"
    - "[com.netflix.servo.monitor.BasicTimer].hashCode()"
    - "[com.netflix.servo.monitor.MonitorWrapper].hashCode()"
    - "[org.testng.xml.XmlTest].hashCode()"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].hashCode()"
    - "[jdk.internal.jimage.ImageReader$Node].hashCode()"
    - "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].hashCode()"
    - "[com.google.common.collect.ImmutableMap].hashCode()"
    - "[jdk.internal.module.ModuleHashes].hashCode()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].hashCode()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].hashCode()"
    - "[com.google.common.net.MediaType].hashCode()"
    - "[bsh.Primitive].hashCode()"
    - "[com.google.common.collect.TreeRangeMap].hashCode()"
    - "[com.google.common.collect.RegularImmutableMultiset].hashCode()"
    - "[com.google.common.hash.Murmur3_128HashFunction].hashCode()"
    - "[com.google.common.reflect.Types$WildcardTypeImpl].hashCode()"
    - "[com.google.common.reflect.AbstractInvocationHandler].hashCode()"
    - "[com.google.common.collect.NullsFirstOrdering].hashCode()"
    - "[com.google.common.collect.Tables$AbstractCell].hashCode()"
    - "[com.google.common.collect.HashMultiset].hashCode()"
    - "[com.google.common.collect.Sets$FilteredSet].hashCode()"
    - "[com.google.common.collect.AbstractMapEntry].hashCode()"
    - "[com.google.common.collect.ImmutableMultimap].hashCode()"
    - "[com.google.common.collect.Maps$MapDifferenceImpl].hashCode()"
    - "[com.google.common.collect.GeneralRange].hashCode()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap].hashCode()"
    - "[com.google.common.collect.Sets$PowerSet].hashCode()"
    - "[org.testng.xml.XmlSuite].hashCode()"
    - "[com.netflix.servo.util.ExpiringCache$Entry].hashCode()"
    - "[com.google.common.collect.ArrayTable].hashCode()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].hashCode()"
    - "[bsh.BshClassManager$SignatureKey].hashCode()"
    - "[org.testng.xml.XmlInclude].hashCode()"
    - "[org.slf4j.helpers.BasicMarker].hashCode()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntrySet].hashCode()"
    - "[com.google.common.collect.HashMultimap].hashCode()"
    - "[com.netflix.servo.monitor.StepCounter].hashCode()"
    - "[com.netflix.spectator.impl.matcher.NegativeLookaheadMatcher].hashCode()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].hashCode()"
    - "[com.google.common.primitives.UnsignedLong].hashCode()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].hashCode()"
    - "[com.netflix.servo.monitor.PeakRateCounter].hashCode()"
    - "[com.google.common.collect.LexicographicalOrdering].hashCode()"
    - "[com.google.common.collect.ByFunctionOrdering].hashCode()"
    - "[com.google.common.collect.Interners$InternerFunction].hashCode()"
    - "[com.netflix.spectator.impl.matcher.SeqMatcher].hashCode()"
    - "[com.google.common.collect.Multisets$AbstractEntry].hashCode()"
    - "[com.netflix.servo.monitor.BucketTimer].hashCode()"
    - "[com.netflix.servo.monitor.BucketConfig].hashCode()"
    - "[com.google.common.collect.ForwardingSet].hashCode()"
    - "[com.google.common.base.Predicates$InstanceOfPredicate].hashCode()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].hashCode()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].hashCode()"
    - "[com.google.common.collect.Cut$BelowValue].hashCode()"
    - "[org.yaml.snakeyaml.nodes.Node].hashCode()"
    - "[com.google.common.eventbus.AnnotatedSubscriberFinder$MethodIdentifier].hashCode()"
    - "[com.google.common.base.Enums$StringConverter].hashCode()"
    - "[java.lang.Double].hashCode()"
    - "[com.google.common.collect.EnumMultiset].hashCode()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].hashCode()"
    - "[com.google.common.collect.LinkedListMultimap].hashCode()"
    - "[com.netflix.servo.monitor.BasicInformational].hashCode()"
    - "[com.google.common.base.Predicates$InPredicate].hashCode()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].hashCode()"
    - "[com.netflix.spectator.impl.matcher.PositiveLookaheadMatcher].hashCode()"
    - "[com.google.common.base.Functions$SupplierFunction].hashCode()"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].hashCode()"
    - "[com.netflix.servo.monitor.StatsMonitor].hashCode()"
    - "[com.google.common.collect.TreeMultiset].hashCode()"
    - "[com.google.common.hash.HashCode].hashCode()"
    - "[com.google.common.hash.BloomFilterStrategies$BitArray].hashCode()"
    - "[com.netflix.servo.Metric].hashCode()"
    - "[java.io.File].hashCode()"
    - "[org.yaml.snakeyaml.nodes.Tag].hashCode()"
    - "[com.google.common.base.Predicates$OrPredicate].hashCode()"
    - "[com.google.common.collect.TreeBasedTable].hashCode()"
    - "[com.google.common.collect.CompoundOrdering].hashCode()"
    - "[com.google.common.reflect.Types$ParameterizedTypeImpl].hashCode()"
    - "[com.netflix.servo.tag.SmallTagMap].hashCode()"
    - "[com.netflix.servo.monitor.DoubleGauge].hashCode()"
    - "[com.google.common.collect.Synchronized$SynchronizedMultiset].hashCode()"
    - "[com.google.common.collect.Maps$ValueDifferenceImpl].hashCode()"
    - "[com.google.common.reflect.Invokable].hashCode()"
    - "[com.google.common.base.Functions$FunctionForMapNoDefault].hashCode()"
    - "[org.testng.xml.XmlPackage].hashCode()"
    - "[com.google.common.collect.ExplicitOrdering].hashCode()"
    - "[com.netflix.spectator.api.Measurement].hashCode()"
    - "[org.testng.xml.XmlMethodSelector].hashCode()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].hashCode()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].hashCode()"
    - "[com.google.common.collect.ForwardingMap].hashCode()"
    - "[com.netflix.spectator.impl.matcher.CharClassMatcher].hashCode()"
    - "[com.google.common.reflect.ClassPath$ResourceInfo].hashCode()"
    - "[com.netflix.servo.tag.BasicTagList].hashCode()"
    - "[com.netflix.servo.monitor.DurationTimer].hashCode()"
    - "[com.google.common.collect.AbstractMultimap$EntrySet].hashCode()"
    - "[com.google.common.base.FunctionalEquivalence].hashCode()"
    - "[com.google.common.collect.SingletonImmutableSet].hashCode()"
    - "[com.google.common.reflect.Element].hashCode()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].hashCode()"
    - "[com.google.common.collect.ReverseOrdering].hashCode()"
    - "[com.google.common.base.Converter$ReverseConverter].hashCode()"
    - "[org.testng.xml.XmlClass].hashCode()"
    - "[com.google.common.base.PairwiseEquivalence].hashCode()"
    - "[com.google.common.cache.CacheBuilderSpec].hashCode()"
    - "[java.lang.Character].hashCode()"
    - "[com.google.common.collect.ConcurrentHashMultiset].hashCode()"
    - "[com.google.common.base.Predicates$AssignableFromPredicate].hashCode()"
    - "[java.lang.Short].hashCode()"
    - "[com.google.common.collect.FilteredKeySetMultimap$EntrySet].hashCode()"
    - "[com.google.common.base.CaseFormat$StringConverter].hashCode()"
    - "[com.netflix.spectator.impl.matcher.RepeatMatcher].hashCode()"
    - "[com.google.common.collect.ComparatorOrdering].hashCode()"
    - "[org.testng.internal.annotations.JDK15AnnotationFinder$Pair].hashCode()"
    - "[com.netflix.spectator.impl.matcher.ZeroOrMoreMatcher].hashCode()"
    - "[com.google.common.collect.LinkedHashMultiset].hashCode()"
    - "[com.google.common.collect.AbstractMultimap].hashCode()"
    - "[com.google.common.collect.LinkedHashMultimap].hashCode()"
    - "[com.google.common.collect.SingletonImmutableList].hashCode()"
    - "[com.netflix.servo.monitor.NumberGauge].hashCode()"
    - "[com.google.common.eventbus.EventSubscriber].hashCode()"
    - "[com.google.common.collect.Multimaps$MapMultimap].hashCode()"
    - "[com.google.common.net.HostSpecifier].hashCode()"
    - "[jdk.internal.org.objectweb.asm.Handle].hashCode()"
    - "[com.google.common.collect.ForwardingTable].hashCode()"
    - "[com.google.common.collect.Synchronized$SynchronizedSet].hashCode()"
    - "[java.lang.Boolean].hashCode()"
    - "[com.google.common.base.Suppliers$SupplierComposition].hashCode()"
    - "[com.google.common.collect.Cut$AboveValue].hashCode()"
    - "[org.slf4j.helpers.SubstituteLogger].hashCode()"
    - "[com.google.common.base.Predicates$NotPredicate].hashCode()"
    - "[com.google.common.hash.BloomFilter].hashCode()"
    - "[com.google.common.collect.AbstractMultiset].hashCode()"
    - "[com.google.common.base.Enums$ValueOfFunction].hashCode()"
    - "[com.google.common.collect.Maps$UnmodifiableEntrySet].hashCode()"
    - "[com.google.common.hash.Funnels$SequentialFunnel].hashCode()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].hashCode()"
    - "[com.google.common.reflect.TypeParameter].hashCode()"
    - "[com.google.common.collect.Synchronized$SynchronizedList].hashCode()"
    - "[java.lang.Integer].hashCode()"
    - "[com.netflix.spectator.api.DefaultId].hashCode()"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].hashCode()"
    - "[com.netflix.spectator.api.ArrayTagSet].hashCode()"
    - "[com.google.common.collect.TreeRangeSet$AsRanges].hashCode()"
    - "[com.google.common.base.Predicates$CompositionPredicate].hashCode()"
    - "[java.lang.Byte].hashCode()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].hashCode()"
    - "[com.google.common.reflect.TypeToken].hashCode()"
    - "[com.google.common.base.Functions$PredicateFunction].hashCode()"
    - "[com.netflix.spectator.impl.matcher.OrMatcher].hashCode()"
    - "[com.google.common.cache.RemovalNotification].hashCode()"
    - "[com.netflix.servo.util.ManualClock].hashCode()"
    - "[com.google.common.collect.ImmutableList].hashCode()"
    - "[com.google.common.base.Predicates$ContainsPatternPredicate].hashCode()"
    - "[com.netflix.spectator.impl.AsciiSet].hashCode()"
    - "[com.google.common.base.Converter$ConverterComposition].hashCode()"
    - "[com.google.common.collect.TreeMultimap].hashCode()"
    - "[com.google.common.collect.HashBasedTable].hashCode()"
    - "[java.lang.Float].hashCode()"
    - "[com.google.common.collect.RegularContiguousSet].hashCode()"
    - "[com.google.common.reflect.Types$GenericArrayTypeImpl].hashCode()"
    - "[com.google.common.collect.ForwardingList].hashCode()"
    - "[com.netflix.servo.monitor.BasicCounter].hashCode()"
    - "[com.google.common.collect.ImmutableTable].hashCode()"
    - "[com.google.common.base.Equivalence$Wrapper].hashCode()"
    - "[com.google.common.collect.ForwardingMultiset].hashCode()"
    - "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].hashCode()"
    - "[com.google.common.hash.Hashing$ConcatenatedHashFunction].hashCode()"
    - "[com.netflix.servo.tag.BasicTag].hashCode()"
    - "[com.google.common.base.Equivalence$EquivalentToPredicate].hashCode()"
    - "[org.testng.internal.ConstructorOrMethod].hashCode()"
    - "[java.lang.String].hashCode()"
    - "[com.google.common.collect.Maps$BiMapConverter].hashCode()"
    - "[com.netflix.servo.monitor.BasicGauge].hashCode()"
    - "[com.google.common.collect.ImmutableMultiset].hashCode()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].hashCode()"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].hashCode()"
    - "[com.google.common.collect.NullsLastOrdering].hashCode()"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].hashCode()"
    - "[com.netflix.servo.monitor.MinGauge].hashCode()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].hashCode()"
    - "[com.google.common.hash.SipHashFunction].hashCode()"
    - "[com.google.common.collect.Synchronized$SynchronizedMultimap].hashCode()"
    - "[com.google.common.base.Predicates$IsEqualToPredicate].hashCode()"
    - "[com.netflix.servo.monitor.DoubleCounter].hashCode()"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].hashCode()"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].hashCode()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].hashCode()"
    - "[com.google.common.base.Predicates$AndPredicate].hashCode()"
    - "[com.netflix.servo.monitor.StatsMonitor$LongGaugeWrapper].hashCode()"
    - "[com.netflix.servo.monitor.LongGauge].hashCode()"
    - "[com.netflix.servo.monitor.AnnotatedStringMonitor].hashCode()"
    - "[com.google.common.collect.ImmutableSet].hashCode()"
    - "[com.google.common.collect.MapMakerInternalMap$WriteThroughEntry].hashCode()"
    - "[com.google.common.base.Suppliers$SupplierOfInstance].hashCode()"
    - "[com.google.common.collect.Sets$CartesianSet].hashCode()"
    - "[com.google.common.base.Functions$ForMapWithDefault].hashCode()"
    - "[com.google.common.hash.Funnels$StringCharsetFunnel].hashCode()"
    - "[com.netflix.servo.tag.SortedTagList].hashCode()"
    - "[com.netflix.spectator.impl.matcher.IndexOfMatcher].hashCode()"
    - "[com.google.common.hash.Murmur3_32HashFunction].hashCode()"
    - "[com.netflix.spectator.impl.matcher.IgnoreCaseMatcher].hashCode()"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].hashCode()"
    - "[org.testng.remote.strprotocol.TestResultMessage].hashCode()"
    - "[com.google.common.collect.ImmutableRangeMap].hashCode()"
    - "[com.netflix.servo.monitor.MaxGauge].hashCode()"
    - "[com.google.common.collect.AbstractTable].hashCode()"
    - "[com.google.common.base.Present].hashCode()"
    - "[com.google.common.net.HostAndPort].hashCode()"
    - "[com.google.common.net.InternetDomainName].hashCode()"
    - "[org.testng.internal.BaseTestMethod].hashCode()"
    - "[com.netflix.spectator.impl.matcher.ZeroOrOneMatcher].hashCode()"
    - "[java.lang.Enum].hashCode()"
    - "[com.google.common.reflect.Types$TypeVariableImpl].hashCode()"
    - "[jdk.internal.module.ModuleReferenceImpl].hashCode()"
    - "[com.google.common.base.Functions$FunctionComposition].hashCode()"
    - "[com.google.common.collect.ForwardingMapEntry].hashCode()"
    - "[java.lang.Long].hashCode()"
    - "[com.google.common.cache.CacheStats].hashCode()"
    - "[com.netflix.spectator.impl.matcher.StartsWithMatcher].hashCode()"
    - "[com.netflix.servo.monitor.StatsTimer].hashCode()"
    - "[com.google.common.base.Absent:com.google.common.collect.Count:com.google.common.collect.EmptyContiguousSet:com.google.common.collect.EmptyImmutableSet:com.google.common.collect.EmptyImmutableSortedSet:com.google.common.collect.ImmutableEnumSet:com.google.common.collect.RegularImmutableSet:com.google.common.primitives.UnsignedInteger:com.google.common.reflect.Parameter:com.netflix.spectator.api.BasicTag:java.awt.AWTKeyStroke:java.awt.AlphaComposite:java.awt.AttributeValue:java.awt.BasicStroke:java.awt.BufferCapabilities$FlipContents:java.awt.Color:java.awt.Dimension:java.awt.DisplayMode:java.awt.Font:java.awt.Insets:java.awt.JobAttributes:java.awt.JobAttributes$DefaultSelectionType:java.awt.JobAttributes$DestinationType:java.awt.JobAttributes$DialogType:java.awt.JobAttributes$MultipleDocumentHandlingType:java.awt.JobAttributes$SidesType:java.awt.MenuShortcut:java.awt.PageAttributes:java.awt.PageAttributes$ColorType:java.awt.PageAttributes$MediaType:java.awt.PageAttributes$OrientationRequestedType:java.awt.PageAttributes$OriginType:java.awt.PageAttributes$PrintQualityType:java.awt.RenderingHints:java.awt.RenderingHints$Key:java.awt.datatransfer.DataFlavor:java.awt.datatransfer.MimeType:java.awt.datatransfer.MimeTypeParameterList:java.awt.font.FontRenderContext:java.awt.font.NumericShaper:java.awt.font.TextHitInfo:java.awt.font.TransformAttribute:java.awt.geom.AffineTransform:java.awt.geom.Point2D:java.awt.geom.Rectangle2D:java.awt.image.ColorModel:java.awt.image.IndexColorModel:java.beans.IndexedPropertyDescriptor:java.beans.PropertyDescriptor:java.io.FilePermission:java.lang.Character$Subset:java.lang.Object:java.lang.Package:java.lang.ProcessBuilder$Redirect:java.lang.ProcessHandleImpl:java.lang.Runtime$Version:java.lang.StackTraceElement:java.lang.Thread$WeakClassKey:java.lang.invoke.ClassSpecializer$SpeciesData:java.lang.invoke.LambdaForm:java.lang.invoke.LambdaForm$Name:java.lang.invoke.LambdaForm$NamedFunction:java.lang.invoke.LambdaFormEditor$Transform:java.lang.invoke.MemberName:java.lang.invoke.MethodType:java.lang.invoke.StringConcatFactory$Key:java.lang.invoke.StringConcatFactory$Recipe:java.lang.invoke.StringConcatFactory$RecipeElement:java.lang.module.ModuleDescriptor:java.lang.module.ModuleDescriptor$Exports:java.lang.module.ModuleDescriptor$Opens:java.lang.module.ModuleDescriptor$Provides:java.lang.module.ModuleDescriptor$Requires:java.lang.module.ModuleDescriptor$Version:java.lang.module.ResolvedModule:java.lang.reflect.Constructor:java.lang.reflect.Field:java.lang.reflect.Method:java.lang.reflect.Parameter:java.math.BigDecimal:java.math.BigInteger:java.math.MathContext:java.net.HttpCookie:java.net.Inet4Address:java.net.Inet6Address:java.net.Inet6Address$Inet6AddressHolder:java.net.InetAddress:java.net.InterfaceAddress:java.net.NetworkInterface:java.net.Proxy:java.net.SocketPermission:java.net.URI:java.net.URL:java.nio.ByteBuffer:java.nio.CharBuffer:java.nio.DoubleBuffer:java.nio.FloatBuffer:java.nio.IntBuffer:java.nio.LongBuffer:java.nio.ShortBuffer:java.nio.charset.Charset:java.nio.file.attribute.FileTime:java.security.AccessControlContext:java.security.AllPermission:java.security.BasicPermission:java.security.CodeSigner:java.security.CodeSource:java.security.Provider$ServiceKey:java.security.Timestamp:java.security.cert.CertPath:java.security.cert.Certificate:java.text.AttributedCharacterIterator$Attribute:java.text.DateFormat:java.text.DateFormatSymbols:java.text.DecimalFormat:java.text.DecimalFormatSymbols:java.text.DigitList:java.text.FieldPosition:java.text.MessageFormat:java.text.NumberFormat:java.text.ParsePosition:java.text.SimpleDateFormat:java.text.StringCharacterIterator:java.time.Clock:java.time.Duration:java.time.Instant:java.time.LocalDate:java.time.LocalDateTime:java.time.LocalTime:java.time.OffsetDateTime:java.time.OffsetTime:java.time.Period:java.time.ZoneId:java.time.ZoneOffset:java.time.ZonedDateTime:java.time.chrono.AbstractChronology:java.time.format.DecimalStyle:java.time.temporal.ValueRange:java.time.zone.ZoneOffsetTransition:java.time.zone.ZoneOffsetTransitionRule:java.time.zone.ZoneRules:java.util.AbstractList:java.util.AbstractMap:java.util.AbstractSet:java.util.ArrayList:java.util.BitSet:java.util.Calendar:java.util.Date:java.util.EnumMap:java.util.GregorianCalendar:java.util.HashMap$Node:java.util.Hashtable:java.util.Hashtable$Entry:java.util.IdentityHashMap:java.util.Locale:java.util.Optional:java.util.OptionalDouble:java.util.OptionalInt:java.util.OptionalLong:java.util.Properties:java.util.PropertyPermission:java.util.ResourceBundle$CacheKey:java.util.TreeMap$Entry:java.util.UUID:java.util.Vector:java.util.WeakHashMap$Entry:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView:java.util.concurrent.ConcurrentHashMap$Node:java.util.concurrent.CopyOnWriteArrayList:java.util.jar.Attributes:java.util.jar.Attributes$Name:java.util.jar.Manifest:java.util.logging.Level:java.util.logging.LogManager$CloseOnReset:java.util.zip.ZipEntry:java.util.zip.ZipFile$Source$Key:javax.crypto.CryptoPermission:javax.management.Attribute:javax.management.MBeanAttributeInfo:javax.management.MBeanConstructorInfo:javax.management.MBeanFeatureInfo:javax.management.MBeanInfo:javax.management.MBeanNotificationInfo:javax.management.MBeanOperationInfo:javax.management.MBeanParameterInfo:javax.management.ObjectInstance:javax.management.ObjectName:javax.management.openmbean.CompositeType:javax.management.openmbean.TabularType:javax.print.DocFlavor:javax.print.MimeType:javax.security.auth.Subject:javax.swing.text.SimpleAttributeSet:javax.swing.text.StyleContext$FontKey:javax.swing.text.StyleContext$SmallAttributeSet:javax.swing.text.TabSet:javax.swing.text.TabStop:javax.swing.tree.TreePath:jdk.internal.misc.Signal:jdk.internal.org.objectweb.asm.Type:sun.font.AttributeValues:sun.font.CoreMetrics:sun.font.FontLineMetrics:sun.font.FontStrikeDesc:sun.java2d.loops.CompositeType:sun.java2d.loops.SurfaceType:sun.java2d.pipe.Region:sun.nio.ch.FileKey:sun.nio.fs.UnixFileStore:sun.nio.fs.UnixPath:sun.util.calendar.CalendarDate:sun.util.calendar.Era:sun.util.locale.BaseLocale:sun.util.locale.BaseLocale$Key:sun.util.locale.LocaleExtensions].hashCode()"
    - "[java.lang.Object].hashCode()"
    functionUses: 39
    ICount: 15
    EdgeCount: 232
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.Metric:109,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.Metric:111,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.Metric].toString()"
    functionSourceFile: "com.netflix.servo.Metric"
    linkageType: ""
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(long)"
    functionUses: 39
    ICount: 15
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.Metric:121,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.Metric:121,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.Metric:121,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.Metric:121,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "com.netflix.servo.Metric:121,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.Metric:121,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.UnmodifiableList].<init>()"
    functionSourceFile: "com.netflix.servo.util.UnmodifiableList"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.UnmodifiableList:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.UnmodifiableList].copyOf(java.lang.Object[])"
    functionSourceFile: "com.netflix.servo.util.UnmodifiableList"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.List"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[java.util.ArrayList].<init>(int)"
    - "[java.util.Collections].addAll(java.util.Collection,java.lang.Object[])"
    - "[java.util.Collections].unmodifiableList(java.util.List)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.UnmodifiableList:53,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.util.UnmodifiableList:54,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.netflix.servo.util.UnmodifiableList:55,1"
      Dst: "[java.util.Collections].addAll(java.util.Collection,java.lang.Object[])"
    - Src: "com.netflix.servo.util.UnmodifiableList:56,1"
      Dst: "[java.util.Collections].unmodifiableList(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.UnmodifiableList].cast(java.lang.Iterable<T>)"
    functionSourceFile: "com.netflix.servo.util.UnmodifiableList"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionDepth: 0
    returnType: "java.util.Collection<T>"
    argCount: 1
    argTypes:
    - "java.lang.Iterable<T>"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.UnmodifiableList].copyOf(java.lang.Iterable<?\
      \ extends E>)"
    functionSourceFile: "com.netflix.servo.util.UnmodifiableList"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionDepth: 1
    returnType: "java.util.List<E>"
    argCount: 1
    argTypes:
    - "java.lang.Iterable<? extends E>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[java.util.ArrayList].<init>(int)"
    - "[com.netflix.servo.util.UnmodifiableList].cast(java.lang.Iterable)"
    - "[com.google.common.collect.LinkedListMultimap$1].size()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].size()"
    - "[com.google.common.collect.RegularImmutableSortedMultiset].size()"
    - "[com.google.common.collect.AbstractTable$CellSet].size()"
    - "[com.google.common.collect.Maps$KeySet].size()"
    - "[com.google.common.collect.FilteredMultimapValues].size()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].size()"
    - "[com.google.common.collect.ImmutableAsList].size()"
    - "[com.google.common.collect.CartesianList$1].size()"
    - "[com.google.common.collect.RegularImmutableSortedSet].size()"
    - "[com.google.common.cache.LocalCache$AccessQueue].size()"
    - "[com.google.common.collect.Collections2$FilteredCollection].size()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].size()"
    - "[com.google.common.collect.Sets$PowerSet].size()"
    - "[com.google.common.collect.ImmutableMultimap$Values].size()"
    - "[com.google.common.collect.EnumMultiset].size()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].size()"
    - "[com.google.common.cache.LocalCache$WriteQueue].size()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].size()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].size()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].size()"
    - "[com.google.common.collect.TreeMultiset].size()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].size()"
    - "[com.google.common.collect.AbstractMultiset].size()"
    - "[com.google.common.collect.Sets$3].size()"
    - "[com.google.common.collect.Lists$StringAsImmutableList].size()"
    - "[com.google.common.collect.Sets$CartesianSet$1].size()"
    - "[com.google.common.collect.Multimaps$Entries].size()"
    - "[com.google.common.collect.Lists$Partition].size()"
    - "[com.google.common.collect.ConcurrentHashMultiset].size()"
    - "[com.google.common.collect.ImmutableMapValues].size()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].size()"
    - "[com.google.common.collect.Maps$Values].size()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].size()"
    - "[com.google.common.collect.Sets$1].size()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].size()"
    - "[com.google.common.collect.ImmutableMapEntrySet].size()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].size()"
    - "[com.google.common.collect.HashMultiset].size()"
    - "[com.google.common.collect.LinkedListMultimap$3].size()"
    - "[com.google.common.collect.Collections2$TransformedCollection].size()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].size()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].size()"
    - "[com.google.common.collect.LinkedHashMultiset].size()"
    - "[com.google.common.collect.LinkedListMultimap$4].size()"
    - "[com.google.common.collect.Multisets$3].size()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].size()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].size()"
    - "[com.google.common.collect.Lists$AbstractListWrapper].size()"
    - "[com.google.common.collect.ForwardingCollection].size()"
    - "[com.google.common.collect.Lists$CharSequenceAsList].size()"
    - "[com.google.common.collect.AbstractMultimap$Values].size()"
    - "[com.google.common.collect.DescendingMultiset$1].size()"
    - "[com.google.common.cache.LocalCache$AbstractCacheSet].size()"
    - "[com.google.common.collect.Multisets$ElementSet].size()"
    - "[com.google.common.collect.AbstractTable$Values].size()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].size()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].size()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].size()"
    - "[com.google.common.collect.Lists$TransformingSequentialList].size()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].size()"
    - "[com.google.common.collect.DescendingImmutableSortedMultiset].size()"
    - "[com.google.common.collect.ImmutableEnumMap$1].size()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].size()"
    - "[com.google.common.collect.RegularContiguousSet].size()"
    - "[com.google.common.collect.Maps$EntrySet].size()"
    - "[com.google.common.collect.Sets$2].size()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].size()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].size()"
    - "[com.google.common.cache.LocalCache$Values].size()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].size()"
    - "[com.google.common.collect.RegularImmutableTable$Values].size()"
    - "[com.google.common.collect.Lists$ReverseList].size()"
    - "[com.google.common.collect.Sets$SubSet].size()"
    - "[com.google.common.collect.ImmutableMapKeySet].size()"
    - "[com.google.common.collect.LinkedListMultimap$2].size()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].size()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].size()"
    - "[com.google.common.collect.Collections2$PermutationCollection].size()"
    - "[com.google.common.collect.ImmutableMultimap$Keys].size()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].size()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].size()"
    - "[java.util.ArrayList].<init>()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[javax.management.AttributeList].add(java.lang.Object)"
    - "[java.util.Collections].unmodifiableList(java.util.List)"
    - "[java.util.Collection].size()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 4
    ICount: 20
    EdgeCount: 364
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.UnmodifiableList:73"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.UnmodifiableList:76"
        BranchSideFuncs:
        - "<init>()"
    - Branch String: "com.netflix.servo.util.UnmodifiableList:78"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.UnmodifiableList:81"
        BranchSideFuncs:
        - "hasNext()"
        - "add(java.lang.Object)"
        - "iterator()"
        - "next()"
      - BranchSide: "com.netflix.servo.util.UnmodifiableList:80"
        BranchSideFuncs:
        - "unmodifiableList(java.util.List)"
    Callsites:
    - Src: "com.netflix.servo.util.UnmodifiableList:72,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.util.UnmodifiableList:75,1"
      Dst: "[com.netflix.servo.util.UnmodifiableList].cast(java.lang.Iterable)"
    - Src: "com.netflix.servo.util.UnmodifiableList:75,1"
      Dst: "[java.util.Collection].size()"
    - Src: "com.netflix.servo.util.UnmodifiableList:75,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.netflix.servo.util.UnmodifiableList:77,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.netflix.servo.util.UnmodifiableList:78,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.netflix.servo.util.UnmodifiableList:78,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.util.UnmodifiableList:78,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.util.UnmodifiableList:79,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.netflix.servo.util.UnmodifiableList:81,1"
      Dst: "[java.util.Collections].unmodifiableList(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.google.common.collect.Iterables$4].<init>(java.lang.Iterable,int)"
    functionSourceFile: "com.google.common.collect.Iterables$4"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.FluentIterable].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$4:537,1"
      Dst: "[com.google.common.collect.FluentIterable].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$4].iterator()"
    functionSourceFile: "com.google.common.collect.Iterables$4"
    linkageType: ""
    functionLinenumber: 539
    functionLinenumberEnd: 541
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[com.google.common.collect.Iterators].partition(java.util.Iterator,int)"
    - "[java.lang.Iterable].iterator()"
    functionUses: 56
    ICount: 6
    EdgeCount: 179
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$4:540,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables$4:540,1"
      Dst: "[com.google.common.collect.Iterators].partition(java.util.Iterator,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredThreadPool].<init>(java.util.concurrent.ThreadPoolExecutor)"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredThreadPool"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.concurrent.ThreadPoolExecutor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredThreadPool:30,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredThreadPool].getActiveCount()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredThreadPool"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ThreadPoolExecutor].getActiveCount()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredThreadPool:36,1"
      Dst: "[java.util.concurrent.ThreadPoolExecutor].getActiveCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredThreadPool].getCompletedTaskCount()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredThreadPool"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ThreadPoolExecutor].getCompletedTaskCount()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredThreadPool:41,1"
      Dst: "[java.util.concurrent.ThreadPoolExecutor].getCompletedTaskCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredThreadPool].getCorePoolSize()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredThreadPool"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ThreadPoolExecutor].getCorePoolSize()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredThreadPool:46,1"
      Dst: "[java.util.concurrent.ThreadPoolExecutor].getCorePoolSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredThreadPool].getMaximumPoolSize()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredThreadPool"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ThreadPoolExecutor].getMaximumPoolSize()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredThreadPool:51,1"
      Dst: "[java.util.concurrent.ThreadPoolExecutor].getMaximumPoolSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredThreadPool].getPoolSize()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredThreadPool"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ThreadPoolExecutor].getPoolSize()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredThreadPool:56,1"
      Dst: "[java.util.concurrent.ThreadPoolExecutor].getPoolSize()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredThreadPool].getQueueSize()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredThreadPool"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ThreadPoolExecutor].getQueue()"
    - "[java.util.Collection].size()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredThreadPool:61,1"
      Dst: "[java.util.concurrent.ThreadPoolExecutor].getQueue()"
    - Src: "com.netflix.servo.monitor.MonitoredThreadPool:61,1"
      Dst: "[java.util.Collection].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredThreadPool].getTaskCount()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredThreadPool"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ThreadPoolExecutor].getTaskCount()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredThreadPool:66,1"
      Dst: "[java.util.concurrent.ThreadPoolExecutor].getTaskCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MonitorRegistryMetricPoller$MonitorValueCallable].<init>(com.netflix.servo.monitor.Monitor)"
    functionSourceFile: "com.netflix.servo.publish.MonitorRegistryMetricPoller$MonitorValueCallable"
    linkageType: ""
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller$MonitorValueCallable:230,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MonitorRegistryMetricPoller$MonitorValueCallable].call()"
    functionSourceFile: "com.netflix.servo.publish.MonitorRegistryMetricPoller$MonitorValueCallable"
    linkageType: ""
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DurationTimer].getValue()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getValue()"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getValue()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    - "[com.netflix.servo.monitor.DynamicGauge].getValue()"
    - "[com.netflix.servo.monitor.StatsMonitor].getValue()"
    - "[com.netflix.servo.monitor.Monitor].getValue()"
    functionUses: 4
    ICount: 4
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller$MonitorValueCallable:235,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue()"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CounterToRateMetricTransform].<init>(com.netflix.servo.publish.MetricObserver,long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.publish.CounterToRateMetricTransform"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.publish.MetricObserver"
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.CounterToRateMetricTransform].<init>(com.netflix.servo.publish.MetricObserver,long,long,java.util.concurrent.TimeUnit)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:71,1"
      Dst: "[com.netflix.servo.publish.CounterToRateMetricTransform].<init>(com.netflix.servo.publish.MetricObserver,long,long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CounterToRateMetricTransform].<init>(com.netflix.servo.publish.MetricObserver,long,long,java.util.concurrent.TimeUnit,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.publish.CounterToRateMetricTransform"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 5
    argTypes:
    - "com.netflix.servo.publish.MetricObserver"
    - "long"
    - "long"
    - "java.util.concurrent.TimeUnit"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.publish.CounterToRateMetricTransform$1].<init>(com.netflix.servo.publish.CounterToRateMetricTransform,int,float,boolean,com.netflix.servo.util.Clock,long)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:96,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:98,1"
      Dst: "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:101,1"
      Dst: "[com.netflix.servo.publish.CounterToRateMetricTransform$1].<init>(com.netflix.servo.publish.CounterToRateMetricTransform,int,float,boolean,com.netflix.servo.util.Clock,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CounterToRateMetricTransform].<init>(com.netflix.servo.publish.MetricObserver,long,long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.publish.CounterToRateMetricTransform"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.netflix.servo.publish.MetricObserver"
    - "long"
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.CounterToRateMetricTransform].<init>(com.netflix.servo.publish.MetricObserver,long,long,java.util.concurrent.TimeUnit,com.netflix.servo.util.Clock)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:135,1"
      Dst: "[com.netflix.servo.publish.CounterToRateMetricTransform].<init>(com.netflix.servo.publish.MetricObserver,long,long,java.util.concurrent.TimeUnit,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CounterToRateMetricTransform].getName()"
    functionSourceFile: "com.netflix.servo.publish.CounterToRateMetricTransform"
    linkageType: ""
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.CounterToRateMetricTransform].getName()"
    - "[com.netflix.servo.publish.NormalizationTransform].getName()"
    - "[com.netflix.servo.publish.BaseMetricObserver].getName()"
    - "[com.netflix.servo.publish.MetricTransformObserver].getName()"
    - "[com.netflix.servo.publish.MetricObserver].getName()"
    functionUses: 3
    ICount: 4
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:142,1"
      Dst: "[com.netflix.servo.publish.MetricObserver].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CounterToRateMetricTransform].update(java.util.List<Metric>)"
    functionSourceFile: "com.netflix.servo.publish.CounterToRateMetricTransform"
    linkageType: ""
    functionLinenumber: 148
    functionLinenumberEnd: 175
    functionDepth: 8
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List<Metric>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[org.slf4j.helpers.SubstituteLogger].debug(java.lang.String,java.lang.Object)"
    - "[org.slf4j.event.EventRecodingLogger].debug(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.NOPLogger].debug(java.lang.String,java.lang.Object)"
    - "[com.google.common.collect.Lists$StringAsImmutableList].size()"
    - "[com.google.common.collect.LinkedListMultimap$4].size()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].size()"
    - "[com.google.common.collect.LinkedListMultimap$1].size()"
    - "[com.google.common.collect.Lists$AbstractListWrapper].size()"
    - "[com.google.common.collect.Sets$CartesianSet$1].size()"
    - "[com.google.common.base.Joiner$3].size()"
    - "[com.google.common.collect.ImmutableRangeMap$1].size()"
    - "[com.google.common.collect.ForwardingCollection].size()"
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].size()"
    - "[com.google.common.collect.ImmutableAsList].size()"
    - "[com.google.common.collect.CartesianList$1].size()"
    - "[com.google.common.collect.Lists$CharSequenceAsList].size()"
    - "[com.google.common.collect.Lists$Partition].size()"
    - "[com.google.common.collect.Lists$ReverseList].size()"
    - "[com.google.common.collect.RegularImmutableTable$Values].size()"
    - "[com.google.common.collect.CartesianList].size()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].size()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].size()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].size()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].size()"
    - "[com.google.common.collect.RegularImmutableList].size()"
    - "[java.util.LinkedList].size()"
    - "[com.google.common.collect.Lists$TransformingSequentialList].size()"
    - "[com.google.common.collect.SingletonImmutableList].size()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].size()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].size()"
    - "[java.util.ArrayList].size()"
    - "[com.google.common.collect.Lists$OnePlusArrayList].size()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].size()"
    - "[com.google.common.collect.LinkedListMultimap$3].size()"
    - "[com.google.common.collect.ImmutableList$SubList].size()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].size()"
    - "[com.google.common.collect.Lists$TwoPlusArrayList].size()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].size()"
    - "[sun.awt.util.IdentityArrayList].size()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].size()"
    - "[java.util.Vector].size()"
    - "[com.google.common.collect.ImmutableRangeSet$ComplementRanges].size()"
    - "[com.google.common.collect.ImmutableRangeSet$1].size()"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.ArrayList].<init>(int)"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[com.netflix.servo.publish.CounterToRateMetricTransform].isCounter(com.netflix.servo.Metric)"
    - "[com.netflix.servo.Metric].getConfig()"
    - "[com.netflix.servo.publish.CounterToRateMetricTransform].toRateConfig(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.google.common.collect.HashBiMap$Inverse].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$ColumnMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$NavigableAsMapView].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row].get(java.lang.Object)"
    - "[java.util.jar.Attributes].get(java.lang.Object)"
    - "[com.google.common.cache.LocalCache].get(java.lang.Object)"
    - "[javax.swing.MultiUIDefaults].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$ComplementRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.HashBiMap].get(java.lang.Object)"
    - "[java.util.TreeMap].get(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets].get(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableBiMap].get(java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$ArrayMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$RowMap].get(java.lang.Object)"
    - "[java.util.AbstractMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$RangesByUpperBound].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullComputingConcurrentMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].get(java.lang.Object)"
    - "[java.util.EnumMap].get(java.lang.Object)"
    - "[java.util.WeakHashMap].get(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableBiMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Column].get(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedMultimap$1].get(java.lang.Object)"
    - "[java.util.Hashtable].get(java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullConcurrentMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AsMapView].get(java.lang.Object)"
    - "[java.security.Provider].get(java.lang.Object)"
    - "[java.awt.RenderingHints].get(java.lang.Object)"
    - "[com.google.common.collect.Multimaps$AsMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedMap].get(java.lang.Object)"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableSortedMap].get(java.lang.Object)"
    - "[com.google.common.collect.ImmutableEnumMap].get(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AbstractFilteredMap].get(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableBiMap].get(java.lang.Object)"
    - "[java.util.Properties].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$TransformedEntriesMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse].get(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMap].get(java.lang.Object)"
    - "[java.util.IdentityHashMap].get(java.lang.Object)"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap].get(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$ComputingMapAdapter].get(java.lang.Object)"
    - "[javax.swing.UIDefaults].get(java.lang.Object)"
    - "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].computeRate(com.netflix.servo.Metric)"
    - "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - "[javax.management.AttributeList].add(java.lang.Object)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[com.netflix.servo.Metric].getTimestamp()"
    - "[java.lang.Double].valueOf(double)"
    - "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].<init>(com.netflix.servo.Metric)"
    - "[com.google.common.collect.ArrayTable$ArrayMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.HashBiMap$Inverse].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap].put(java.lang.Object,java.lang.Object)"
    - "[java.security.Provider].put(java.lang.Object,java.lang.Object)"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.EnumHashBiMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.reflect.MutableTypeToInstanceMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.WeakHashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.cache.LocalCache].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$RowMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Maps$AbstractFilteredMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.EnumMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.AbstractMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Column].put(java.lang.Object,java.lang.Object)"
    - "[java.util.TreeMap].put(java.lang.Object,java.lang.Object)"
    - "[javax.swing.UIDefaults].put(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.AbstractBiMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Properties].put(java.lang.Object,java.lang.Object)"
    - "[java.util.IdentityHashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.HashBiMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullConcurrentMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$ColumnMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.TreeBasedTable$TreeRow].put(java.lang.Object,java.lang.Object)"
    - "[java.awt.RenderingHints].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Hashtable].put(java.lang.Object,java.lang.Object)"
    - "[java.util.jar.Attributes].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.Integer].doubleValue()"
    - "[java.lang.Long].doubleValue()"
    - "[java.util.concurrent.atomic.LongAdder].doubleValue()"
    - "[java.lang.Float].doubleValue()"
    - "[com.google.common.util.concurrent.AtomicDouble].doubleValue()"
    - "[java.lang.Double].doubleValue()"
    - "[java.math.BigDecimal].doubleValue()"
    - "[com.google.common.primitives.UnsignedInteger].doubleValue()"
    - "[java.util.concurrent.atomic.AtomicInteger].doubleValue()"
    - "[java.lang.Short].doubleValue()"
    - "[java.util.concurrent.atomic.AtomicLong].doubleValue()"
    - "[com.google.common.cache.LongAdder].doubleValue()"
    - "[com.netflix.spectator.impl.AtomicDouble].doubleValue()"
    - "[java.lang.Byte].doubleValue()"
    - "[java.math.BigInteger].doubleValue()"
    - "[com.google.common.primitives.UnsignedLong].doubleValue()"
    - "[com.netflix.servo.Metric].getNumberValue()"
    - "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].computeRate(long,double)"
    - "[com.netflix.servo.publish.CounterToRateMetricTransform].update(java.util.List)"
    - "[com.netflix.servo.publish.MetricTransformObserver].update(java.util.List)"
    - "[com.netflix.servo.publish.NormalizationTransform].update(java.util.List)"
    - "[com.netflix.servo.publish.BaseMetricObserver].update(java.util.List)"
    - "[java.util.List].size()"
    - "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.Number].doubleValue()"
    - "[com.netflix.servo.publish.MetricObserver].update(java.util.List)"
    functionUses: 5
    ICount: 57
    EdgeCount: 380
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.CounterToRateMetricTransform:152"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.CounterToRateMetricTransform:172"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "isCounter(com.netflix.servo.Metric)"
        - "iterator()"
      - BranchSide: "com.netflix.servo.publish.CounterToRateMetricTransform:171"
        BranchSideFuncs:
        - "debug(java.lang.String,java.lang.Object)"
        - "update(java.util.List)"
        - "valueOf(int)"
        - "size()"
    - Branch String: "com.netflix.servo.publish.CounterToRateMetricTransform:153"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.CounterToRateMetricTransform:169"
        BranchSideFuncs:
        - "toRateConfig(com.netflix.servo.monitor.MonitorConfig)"
        - "get(java.lang.Object)"
        - "getConfig()"
      - BranchSide: "com.netflix.servo.publish.CounterToRateMetricTransform:168"
        BranchSideFuncs:
        - "add(java.lang.Object)"
    - Branch String: "com.netflix.servo.publish.CounterToRateMetricTransform:156"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.CounterToRateMetricTransform:160"
        BranchSideFuncs:
        - "computeRate(com.netflix.servo.Metric)"
      - BranchSide: "com.netflix.servo.publish.CounterToRateMetricTransform:159"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
        - "<init>(com.netflix.servo.Metric)"
    - Branch String: "com.netflix.servo.publish.CounterToRateMetricTransform:162"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.CounterToRateMetricTransform:168"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
        - "valueOf(double)"
        - "doubleValue()"
        - "getNumberValue()"
        - "getTimestamp()"
        - "computeRate(long,double)"
      - BranchSide: "com.netflix.servo.publish.CounterToRateMetricTransform:167"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:149,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:150,1"
      Dst: "[java.util.List].size()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:150,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:150,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object)"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:151,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:152,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:152,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:152,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:153,1"
      Dst: "[com.netflix.servo.publish.CounterToRateMetricTransform].isCounter(com.netflix.servo.Metric)"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:154,1"
      Dst: "[com.netflix.servo.Metric].getConfig()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:154,1"
      Dst: "[com.netflix.servo.publish.CounterToRateMetricTransform].toRateConfig(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:155,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:157,1"
      Dst: "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].computeRate(com.netflix.servo.Metric)"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:158,1"
      Dst: "[com.netflix.servo.Metric].getTimestamp()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:158,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:158,1"
      Dst: "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:158,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:160,1"
      Dst: "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].<init>(com.netflix.servo.Metric)"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:161,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:163,1"
      Dst: "[com.netflix.servo.Metric].getNumberValue()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:163,1"
      Dst: "[java.lang.Number].doubleValue()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:164,1"
      Dst: "[com.netflix.servo.publish.CounterToRateMetricTransform$CounterValue].computeRate(long,double)"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:173,1"
      Dst: "[com.netflix.servo.publish.MetricObserver].update(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 11
    CyclomaticComplexity: 5
  - functionName: "[com.netflix.servo.publish.CounterToRateMetricTransform].isCounter(com.netflix.servo.Metric)"
    functionSourceFile: "com.netflix.servo.publish.CounterToRateMetricTransform"
    linkageType: ""
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.Metric"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.Metric].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - "[com.netflix.servo.tag.SortedTagList].getValue(java.lang.String)"
    - "[com.netflix.servo.tag.BasicTagList].getValue(java.lang.String)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.TagList].getValue(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:192,1"
      Dst: "[com.netflix.servo.Metric].getConfig()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:192,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:193,1"
      Dst: "[com.netflix.servo.tag.TagList].getValue(java.lang.String)"
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:194,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CounterToRateMetricTransform].toRateConfig(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.publish.CounterToRateMetricTransform"
    linkageType: ""
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionDepth: 7
    returnType: "com.netflix.servo.monitor.MonitorConfig"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:188,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CounterToRateMetricTransform].reset()"
    functionSourceFile: "com.netflix.servo.publish.CounterToRateMetricTransform"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map].clear()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.CounterToRateMetricTransform:180,1"
      Dst: "[java.util.Map].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.RegexMetricFilter].<init>(java.lang.String,java.util.regex.Pattern,boolean,boolean)"
    functionSourceFile: "com.netflix.servo.publish.RegexMetricFilter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.lang.String"
    - "java.util.regex.Pattern"
    - "boolean"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.RegexMetricFilter:46,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.RegexMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.publish.RegexMetricFilter"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - "[com.netflix.servo.tag.BasicTagList].getTag(java.lang.String)"
    - "[com.netflix.servo.tag.SortedTagList].getTag(java.lang.String)"
    - "[com.netflix.servo.annotations.DataSourceLevel].getValue()"
    - "[com.netflix.servo.annotations.DataSourceType].getValue()"
    - "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - "[java.util.regex.Matcher].matches()"
    - "[com.netflix.servo.tag.TagList].getTag(java.lang.String)"
    - "[com.netflix.servo.tag.Tag].getValue()"
    functionUses: 10
    ICount: 23
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.RegexMetricFilter:60"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.RegexMetricFilter:63"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.RegexMetricFilter:62"
        BranchSideFuncs:
        - "getValue()"
        - "getTag(java.lang.String)"
    - Branch String: "com.netflix.servo.publish.RegexMetricFilter:64"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.RegexMetricFilter:62"
        BranchSideFuncs:
        - "getValue()"
        - "getTag(java.lang.String)"
    - Branch String: "com.netflix.servo.publish.RegexMetricFilter:68"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.RegexMetricFilter:71"
        BranchSideFuncs:
        - "matches()"
        - "matcher(java.lang.CharSequence)"
      - BranchSide: "com.netflix.servo.publish.RegexMetricFilter:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.RegexMetricFilter:57,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getName()"
    - Src: "com.netflix.servo.publish.RegexMetricFilter:58,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - Src: "com.netflix.servo.publish.RegexMetricFilter:63,1"
      Dst: "[com.netflix.servo.tag.TagList].getTag(java.lang.String)"
    - Src: "com.netflix.servo.publish.RegexMetricFilter:64,1"
      Dst: "[com.netflix.servo.tag.Tag].getValue()"
    - Src: "com.netflix.servo.publish.RegexMetricFilter:69,1"
      Dst: "[java.util.regex.Pattern].matcher(java.lang.CharSequence)"
    - Src: "com.netflix.servo.publish.RegexMetricFilter:69,1"
      Dst: "[java.util.regex.Matcher].matches()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.google.common.base.Objects].<init>()"
    functionSourceFile: "com.google.common.base.Objects"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects:39,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects].equal(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.google.common.base.Objects"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.net.HostAndPort].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingTable].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.PositiveLookaheadMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.Maps$MapDifferenceImpl].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.SortedTagList].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MinGauge].equals(java.lang.Object)"
    - "[java.lang.Byte].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.nodes.Node].equals(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedSet].equals(java.lang.Object)"
    - "[com.google.common.reflect.TypeParameter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.LongGauge].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableRangeSet].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeMultiset].equals(java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsTimer].equals(java.lang.Object)"
    - "[com.netflix.servo.stats.StatsConfig].equals(java.lang.Object)"
    - "[com.google.common.collect.ByFunctionOrdering].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$SupplierFunction].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$ForMapWithDefault].equals(java.lang.Object)"
    - "[com.google.common.base.Suppliers$SupplierOfInstance].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BucketTimer].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableList].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeBasedTable].equals(java.lang.Object)"
    - "[com.netflix.spectator.api.DefaultId].equals(java.lang.Object)"
    - "[com.google.common.collect.Cut].equals(java.lang.Object)"
    - "[com.google.common.collect.ExplicitOrdering].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicCounter].equals(java.lang.Object)"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableSet].equals(java.lang.Object)"
    - "[com.google.common.primitives.Longs$LongArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$ContainsPatternPredicate].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.IgnoreCaseMatcher].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.AsciiSet].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$ConstantFunction].equals(java.lang.Object)"
    - "[com.google.common.net.HostSpecifier].equals(java.lang.Object)"
    - "[org.slf4j.helpers.BasicMarker].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractTable].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DurationTimer].equals(java.lang.Object)"
    - "[java.lang.Double].equals(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].equals(java.lang.Object)"
    - "[com.google.common.collect.ReverseOrdering].equals(java.lang.Object)"
    - "[java.lang.Long].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$NotPredicate].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedSet].equals(java.lang.Object)"
    - "[java.lang.Short].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableTable].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapEntry].equals(java.lang.Object)"
    - "[java.lang.String].equals(java.lang.Object)"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].equals(java.lang.Object)"
    - "[bsh.BshClassManager$SignatureKey].equals(java.lang.Object)"
    - "[com.google.common.reflect.ClassPath$ResourceInfo].equals(java.lang.Object)"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.reflect.TypeToken].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractListMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractRangeSet].equals(java.lang.Object)"
    - "[org.testng.internal.ConstructorOrMethod].equals(java.lang.Object)"
    - "[com.google.common.hash.Funnels$StringCharsetFunnel].equals(java.lang.Object)"
    - "[com.google.common.collect.Maps$UnmodifiableEntrySet].equals(java.lang.Object)"
    - "[com.netflix.spectator.api.BasicTag].equals(java.lang.Object)"
    - "[com.netflix.servo.Metric].equals(java.lang.Object)"
    - "[com.google.common.collect.Range].equals(java.lang.Object)"
    - "[org.testng.xml.XmlSuite].equals(java.lang.Object)"
    - "[org.testng.remote.strprotocol.TestResultMessage].equals(java.lang.Object)"
    - "[com.google.common.base.Converter$ConverterComposition].equals(java.lang.Object)"
    - "[com.google.common.cache.CacheBuilderSpec].equals(java.lang.Object)"
    - "[com.netflix.servo.util.ExpiringCache$Entry].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].equals(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableSortedSet].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMultimap].equals(java.lang.Object)"
    - "[com.google.common.eventbus.EventSubscriber].equals(java.lang.Object)"
    - "[com.google.common.reflect.Types$TypeVariableImpl].equals(java.lang.Object)"
    - "[com.google.common.reflect.Types$WildcardTypeImpl].equals(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntrySet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].equals(java.lang.Object)"
    - "[com.google.common.collect.CompoundOrdering].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BucketConfig].equals(java.lang.Object)"
    - "[com.google.common.reflect.Parameter].equals(java.lang.Object)"
    - "[com.google.common.collect.Interners$InternerFunction].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableRangeMap].equals(java.lang.Object)"
    - "[jdk.internal.module.IllegalAccessLogger$Usage].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMultimap].equals(java.lang.Object)"
    - "[com.google.common.base.Enums$StringConverter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleGauge].equals(java.lang.Object)"
    - "[com.google.common.base.CaseFormat$StringConverter].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$AsRanges].equals(java.lang.Object)"
    - "[org.testng.internal.annotations.JDK15AnnotationFinder$Pair].equals(java.lang.Object)"
    - "[com.google.common.reflect.Element].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MaxGauge].equals(java.lang.Object)"
    - "[com.google.common.collect.GeneralRange].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.nodes.Tag].equals(java.lang.Object)"
    - "[com.google.common.collect.Sets$PowerSet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.NumberGauge].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedList].equals(java.lang.Object)"
    - "[com.google.common.hash.BloomFilter].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.StartsWithMatcher].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicGauge].equals(java.lang.Object)"
    - "[com.google.common.collect.HashBasedTable].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$OrPredicate].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicTimer].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.BasicTag].equals(java.lang.Object)"
    - "[com.google.common.collect.LinkedHashMultimap].equals(java.lang.Object)"
    - "[com.netflix.servo.util.ManualClock].equals(java.lang.Object)"
    - "[org.testng.xml.XmlClass].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$CompositionPredicate].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$PredicateFunction].equals(java.lang.Object)"
    - "[com.google.common.collect.HashMultiset].equals(java.lang.Object)"
    - "[com.google.common.base.PairwiseEquivalence].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingList].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.SeqMatcher].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.OrMatcher].equals(java.lang.Object)"
    - "[java.lang.Integer].equals(java.lang.Object)"
    - "[com.google.common.collect.NullsLastOrdering].equals(java.lang.Object)"
    - "[com.google.common.collect.EmptyContiguousSet].equals(java.lang.Object)"
    - "[com.google.common.reflect.AbstractInvocationHandler].equals(java.lang.Object)"
    - "[com.google.common.collect.LinkedHashMultiset].equals(java.lang.Object)"
    - "[com.google.common.base.Equivalence$EquivalentToPredicate].equals(java.lang.Object)"
    - "[com.google.common.eventbus.AnnotatedSubscriberFinder$MethodIdentifier].equals(java.lang.Object)"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$FunctionForMapNoDefault].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.tokens.Token].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMultiset].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleCounter].equals(java.lang.Object)"
    - "[org.testng.xml.XmlPackage].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMultiset].equals(java.lang.Object)"
    - "[com.google.common.base.Enums$ValueOfFunction].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.CharClassMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.Multisets$AbstractEntry].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].equals(java.lang.Object)"
    - "[com.google.common.reflect.Invokable].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.CharSeqMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$InPredicate].equals(java.lang.Object)"
    - "[com.google.common.net.InternetDomainName].equals(java.lang.Object)"
    - "[com.google.common.collect.LinkedListMultimap].equals(java.lang.Object)"
    - "[java.io.File].equals(java.lang.Object)"
    - "[jdk.internal.module.ServicesCatalog$ServiceProvider].equals(java.lang.Object)"
    - "[com.netflix.spectator.api.Measurement].equals(java.lang.Object)"
    - "[com.google.common.hash.Funnels$SequentialFunnel].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsMonitor].equals(java.lang.Object)"
    - "[com.google.common.collect.ConcurrentHashMultiset].equals(java.lang.Object)"
    - "[bsh.Primitive].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.EnumMultiset].equals(java.lang.Object)"
    - "[org.testng.xml.XmlInclude].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].equals(java.lang.Object)"
    - "[com.google.common.collect.ArrayTable].equals(java.lang.Object)"
    - "[com.google.common.collect.Maps$ValueDifferenceImpl].equals(java.lang.Object)"
    - "[com.google.common.collect.ArrayListMultimap].equals(java.lang.Object)"
    - "[com.google.common.reflect.Types$GenericArrayTypeImpl].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.ZeroOrOneMatcher].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.IndexOfMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableSet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AnnotatedStringMonitor].equals(java.lang.Object)"
    - "[com.google.common.base.Present].equals(java.lang.Object)"
    - "[com.google.common.base.Converter].equals(java.lang.Object)"
    - "[com.google.common.hash.Hashing$ConcatenatedHashFunction].equals(java.lang.Object)"
    - "[org.yaml.snakeyaml.events.Event].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.BasicTagList].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$IsEqualToPredicate].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorWrapper].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMultiset].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractSetMultimap].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].equals(java.lang.Object)"
    - "[com.google.common.base.Converter$ReverseConverter].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleReferenceImpl].equals(java.lang.Object)"
    - "[com.netflix.servo.tag.SmallTagMap].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMultimap$EntrySet].equals(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSet].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.NegativeLookaheadMatcher].equals(java.lang.Object)"
    - "[com.google.common.collect.Sets$CartesianSet].equals(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].equals(java.lang.Object)"
    - "[com.google.common.net.MediaType].equals(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet].equals(java.lang.Object)"
    - "[com.google.common.collect.ComparatorOrdering].equals(java.lang.Object)"
    - "[java.lang.Float].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicInformational].equals(java.lang.Object)"
    - "[com.google.common.collect.NullsFirstOrdering].equals(java.lang.Object)"
    - "[com.google.common.collect.LexicographicalOrdering].equals(java.lang.Object)"
    - "[com.google.common.collect.Maps$BiMapConverter].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.ZeroOrMoreMatcher].equals(java.lang.Object)"
    - "[jdk.internal.org.objectweb.asm.Handle].equals(java.lang.Object)"
    - "[com.google.common.reflect.Types$ParameterizedTypeImpl].equals(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableList].equals(java.lang.Object)"
    - "[jdk.internal.loader.AbstractClassLoaderValue$Sub].equals(java.lang.Object)"
    - "[com.google.common.collect.Tables$AbstractCell].equals(java.lang.Object)"
    - "[java.lang.Character].equals(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1$1].equals(java.lang.Object)"
    - "[java.lang.Boolean].equals(java.lang.Object)"
    - "[org.testng.xml.XmlMethodSelector].equals(java.lang.Object)"
    - "[com.google.common.collect.HashMultimap].equals(java.lang.Object)"
    - "[com.netflix.spectator.impl.matcher.RepeatMatcher].equals(java.lang.Object)"
    - "[org.testng.xml.XmlTest].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMultiset].equals(java.lang.Object)"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap$WriteThroughEntry].equals(java.lang.Object)"
    - "[com.google.common.base.FunctionalEquivalence].equals(java.lang.Object)"
    - "[com.google.common.hash.HashCode].equals(java.lang.Object)"
    - "[jdk.internal.misc.Signal].equals(java.lang.Object)"
    - "[com.google.common.base.Suppliers$SupplierComposition].equals(java.lang.Object)"
    - "[com.google.common.base.Functions$FunctionComposition].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMapEntry].equals(java.lang.Object)"
    - "[com.google.common.primitives.Ints$IntArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].equals(java.lang.Object)"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.cache.RemovalNotification].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsMonitor$LongGaugeWrapper].equals(java.lang.Object)"
    - "[com.google.common.collect.Sets$FilteredSet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].equals(java.lang.Object)"
    - "[com.google.common.base.Equivalence$Wrapper].equals(java.lang.Object)"
    - "[com.google.common.primitives.Chars$CharArrayAsList].equals(java.lang.Object)"
    - "[com.netflix.spectator.api.ArrayTagSet].equals(java.lang.Object)"
    - "[org.testng.internal.BaseTestMethod].equals(java.lang.Object)"
    - "[com.google.common.collect.FilteredKeySetMultimap$EntrySet].equals(java.lang.Object)"
    - "[jdk.internal.jimage.ImageReader$Node].equals(java.lang.Object)"
    - "[com.google.common.base.Predicates$AndPredicate].equals(java.lang.Object)"
    - "[com.google.common.hash.BloomFilterStrategies$BitArray].equals(java.lang.Object)"
    - "[jdk.internal.module.ModuleHashes].equals(java.lang.Object)"
    - "[com.google.common.collect.RegularContiguousSet].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingSet].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.PeakRateCounter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StepCounter].equals(java.lang.Object)"
    - "[com.google.common.base.Absent:com.google.common.base.Predicates$AssignableFromPredicate:com.google.common.base.Predicates$InstanceOfPredicate:com.google.common.cache.CacheStats:com.google.common.collect.Count:com.google.common.collect.ImmutableEnumSet:com.google.common.hash.Murmur3_128HashFunction:com.google.common.hash.Murmur3_32HashFunction:com.google.common.hash.SipHashFunction:com.google.common.primitives.UnsignedInteger:com.google.common.primitives.UnsignedLong:java.awt.AWTKeyStroke:java.awt.AlphaComposite:java.awt.BasicStroke:java.awt.Color:java.awt.Dimension:java.awt.DisplayMode:java.awt.Font:java.awt.Insets:java.awt.JobAttributes:java.awt.MenuShortcut:java.awt.PageAttributes:java.awt.Point:java.awt.Rectangle:java.awt.RenderingHints:java.awt.RenderingHints$Key:java.awt.datatransfer.DataFlavor:java.awt.datatransfer.MimeType:java.awt.datatransfer.MimeTypeParameterList:java.awt.font.FontRenderContext:java.awt.font.NumericShaper:java.awt.font.TextHitInfo:java.awt.font.TransformAttribute:java.awt.geom.AffineTransform:java.awt.geom.Point2D:java.awt.geom.Rectangle2D:java.awt.image.ColorModel:java.awt.image.IndexColorModel:java.beans.IndexedPropertyDescriptor:java.beans.PropertyDescriptor:java.io.FilePermission:java.lang.Character$Subset:java.lang.Enum:java.lang.Object:java.lang.ProcessBuilder$Redirect:java.lang.ProcessHandleImpl:java.lang.Runtime$Version:java.lang.StackTraceElement:java.lang.Thread$WeakClassKey:java.lang.invoke.ClassSpecializer$SpeciesData:java.lang.invoke.LambdaForm:java.lang.invoke.LambdaForm$Name:java.lang.invoke.LambdaForm$NamedFunction:java.lang.invoke.LambdaFormEditor$Transform:java.lang.invoke.MemberName:java.lang.invoke.MethodType:java.lang.invoke.StringConcatFactory$Key:java.lang.invoke.StringConcatFactory$Recipe:java.lang.invoke.StringConcatFactory$RecipeElement:java.lang.module.ModuleDescriptor:java.lang.module.ModuleDescriptor$Exports:java.lang.module.ModuleDescriptor$Opens:java.lang.module.ModuleDescriptor$Provides:java.lang.module.ModuleDescriptor$Requires:java.lang.module.ModuleDescriptor$Version:java.lang.module.ResolvedModule:java.lang.reflect.Constructor:java.lang.reflect.Field:java.lang.reflect.Method:java.lang.reflect.Parameter:java.math.BigDecimal:java.math.BigInteger:java.math.MathContext:java.net.HttpCookie:java.net.Inet4Address:java.net.Inet6Address:java.net.Inet6Address$Inet6AddressHolder:java.net.InetAddress:java.net.InterfaceAddress:java.net.NetworkInterface:java.net.Proxy:java.net.SocketPermission:java.net.URI:java.net.URL:java.nio.ByteBuffer:java.nio.CharBuffer:java.nio.DoubleBuffer:java.nio.FloatBuffer:java.nio.IntBuffer:java.nio.LongBuffer:java.nio.ShortBuffer:java.nio.charset.Charset:java.nio.file.attribute.FileTime:java.security.AccessControlContext:java.security.AllPermission:java.security.BasicPermission:java.security.CodeSigner:java.security.CodeSource:java.security.Provider$ServiceKey:java.security.Timestamp:java.security.cert.CertPath:java.security.cert.Certificate:java.text.AttributedCharacterIterator$Attribute:java.text.Collator:java.text.DateFormat:java.text.DateFormatSymbols:java.text.DecimalFormat:java.text.DecimalFormatSymbols:java.text.DigitList:java.text.FieldPosition:java.text.MessageFormat:java.text.NumberFormat:java.text.ParsePosition:java.text.SimpleDateFormat:java.text.StringCharacterIterator:java.time.Clock:java.time.Duration:java.time.Instant:java.time.LocalDate:java.time.LocalDateTime:java.time.LocalTime:java.time.OffsetDateTime:java.time.OffsetTime:java.time.Period:java.time.ZoneId:java.time.ZoneOffset:java.time.ZonedDateTime:java.time.chrono.AbstractChronology:java.time.format.DecimalStyle:java.time.temporal.ValueRange:java.time.zone.ZoneOffsetTransition:java.time.zone.ZoneOffsetTransitionRule:java.time.zone.ZoneRules:java.util.AbstractList:java.util.AbstractMap:java.util.AbstractSet:java.util.ArrayList:java.util.BitSet:java.util.Calendar:java.util.Date:java.util.EnumMap:java.util.GregorianCalendar:java.util.HashMap$Node:java.util.Hashtable:java.util.Hashtable$Entry:java.util.IdentityHashMap:java.util.Locale:java.util.Optional:java.util.OptionalDouble:java.util.OptionalInt:java.util.OptionalLong:java.util.Properties:java.util.PropertyPermission:java.util.ResourceBundle$CacheKey:java.util.TreeMap$Entry:java.util.UUID:java.util.Vector:java.util.WeakHashMap$Entry:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView:java.util.concurrent.ConcurrentHashMap$Node:java.util.concurrent.CopyOnWriteArrayList:java.util.concurrent.CopyOnWriteArraySet:java.util.jar.Attributes:java.util.jar.Attributes$Name:java.util.jar.Manifest:java.util.logging.Level:java.util.logging.LogManager$CloseOnReset:java.util.zip.ZipFile$Source$Key:javax.crypto.CryptoPermission:javax.management.Attribute:javax.management.MBeanAttributeInfo:javax.management.MBeanConstructorInfo:javax.management.MBeanFeatureInfo:javax.management.MBeanInfo:javax.management.MBeanNotificationInfo:javax.management.MBeanOperationInfo:javax.management.MBeanParameterInfo:javax.management.ObjectInstance:javax.management.ObjectName:javax.management.openmbean.CompositeType:javax.management.openmbean.TabularType:javax.print.DocFlavor:javax.print.MimeType:javax.security.auth.Subject:javax.swing.text.DefaultCaret:javax.swing.text.SimpleAttributeSet:javax.swing.text.StyleContext$FontKey:javax.swing.text.StyleContext$SmallAttributeSet:javax.swing.text.TabSet:javax.swing.text.TabStop:javax.swing.tree.TreePath:jdk.internal.org.objectweb.asm.Type:sun.font.AttributeValues:sun.font.CoreMetrics:sun.font.FontLineMetrics:sun.font.FontStrikeDesc:sun.java2d.loops.CompositeType:sun.java2d.loops.SurfaceType:sun.java2d.pipe.Region:sun.nio.ch.FileKey:sun.nio.fs.UnixFileStore:sun.nio.fs.UnixPath:sun.util.calendar.CalendarDate:sun.util.calendar.Era:sun.util.locale.BaseLocale:sun.util.locale.BaseLocale$Key:sun.util.locale.LocaleExtensions].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 48
    ICount: 10
    EdgeCount: 234
    BranchProfiles:
    - Branch String: "com.google.common.base.Objects:55"
      Branch Sides:
      - BranchSide: "com.google.common.base.Objects:54"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.google.common.base.Objects:55"
      Branch Sides:
      - BranchSide: "com.google.common.base.Objects:-2"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Objects:55"
      Branch Sides:
      - BranchSide: "com.google.common.base.Objects:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Objects:55,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[com.google.common.base.Objects].hashCode(java.lang.Object[])"
    functionSourceFile: "com.google.common.base.Objects"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].hashCode(java.lang.Object[])"
    functionUses: 17
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects:76,1"
      Dst: "[java.util.Arrays].hashCode(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects].toStringHelper(java.lang.Object)"
    functionSourceFile: "com.google.common.base.Objects"
    linkageType: ""
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Objects$ToStringHelper].<init>(java.lang.String,com.google.common.base.Objects$1)"
    - "[java.lang.Object].getClass()"
    - "[com.google.common.base.Objects].simpleName(java.lang.Class)"
    functionUses: 5
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects:119,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.google.common.base.Objects:119,1"
      Dst: "[com.google.common.base.Objects].simpleName(java.lang.Class)"
    - Src: "com.google.common.base.Objects:119,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].<init>(java.lang.String,com.google.common.base.Objects$1)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects].simpleName(java.lang.Class)"
    functionSourceFile: "com.google.common.base.Objects"
    linkageType: ""
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getName()"
    - "[java.lang.String].replaceAll(java.lang.String,java.lang.String)"
    - "[java.lang.String].lastIndexOf(int)"
    - "[java.lang.String].substring(int)"
    functionUses: 2
    ICount: 11
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.google.common.base.Objects:164"
      Branch Sides:
      - BranchSide: "com.google.common.base.Objects:167"
        BranchSideFuncs:
        - "lastIndexOf(int)"
      - BranchSide: "com.google.common.base.Objects:166"
        BranchSideFuncs:
        - "substring(int)"
    Callsites:
    - Src: "com.google.common.base.Objects:153,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.google.common.base.Objects:157,1"
      Dst: "[java.lang.String].replaceAll(java.lang.String,java.lang.String)"
    - Src: "com.google.common.base.Objects:160,1"
      Dst: "[java.lang.String].lastIndexOf(int)"
    - Src: "com.google.common.base.Objects:167,1"
      Dst: "[java.lang.String].substring(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.base.Objects$ToStringHelper].<init>(java.lang.String,com.google.common.base.Objects$1)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "com.google.common.base.Objects$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Objects$ToStringHelper].<init>(java.lang.String)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:197,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].<init>(java.lang.String)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Objects$ToStringHelper$ValueHolder].<init>(com.google.common.base.Objects$1)"
    - "[java.lang.Object].<init>()"
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    functionUses: 1
    ICount: 13
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:206,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.google.common.base.Objects$ToStringHelper:199,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper$ValueHolder].<init>(com.google.common.base.Objects$1)"
    - Src: "com.google.common.base.Objects$ToStringHelper:207,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects].toStringHelper(java.lang.Class)"
    functionSourceFile: "com.google.common.base.Objects"
    linkageType: ""
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Objects$ToStringHelper].<init>(java.lang.String,com.google.common.base.Objects$1)"
    - "[com.google.common.base.Objects].simpleName(java.lang.Class)"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects:133,1"
      Dst: "[com.google.common.base.Objects].simpleName(java.lang.Class)"
    - Src: "com.google.common.base.Objects:133,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].<init>(java.lang.String,com.google.common.base.Objects$1)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects].toStringHelper(java.lang.String)"
    functionSourceFile: "com.google.common.base.Objects"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Objects$ToStringHelper].<init>(java.lang.String,com.google.common.base.Objects$1)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects:145,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].<init>(java.lang.String,com.google.common.base.Objects$1)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects].firstNonNull(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.google.common.base.Objects"
    linkageType: ""
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    functionUses: 17
    ICount: 7
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.google.common.base.Objects:188"
      Branch Sides:
      - BranchSide: "com.google.common.base.Objects:187"
        BranchSideFuncs:
        - "checkNotNull(java.lang.Object)"
    Callsites:
    - Src: "com.google.common.base.Objects:188,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.spectator.api.BasicTag].convert(com.netflix.spectator.api.Tag)"
    functionSourceFile: "com.netflix.spectator.api.BasicTag"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.netflix.spectator.api.BasicTag"
    argCount: 1
    argTypes:
    - "com.netflix.spectator.api.Tag"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.Tag].key()"
    - "[com.netflix.spectator.api.Tag].value()"
    - "[com.netflix.spectator.api.BasicTag].<init>(java.lang.String,java.lang.String)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.spectator.api.BasicTag:32"
      Branch Sides:
      - BranchSide: "com.netflix.spectator.api.BasicTag:31"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.spectator.api.BasicTag:32,1"
      Dst: "[com.netflix.spectator.api.Tag].key()"
    - Src: "com.netflix.spectator.api.BasicTag:32,1"
      Dst: "[com.netflix.spectator.api.Tag].value()"
    - Src: "com.netflix.spectator.api.BasicTag:32,1"
      Dst: "[com.netflix.spectator.api.BasicTag].<init>(java.lang.String,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.spectator.api.BasicTag].<init>(java.lang.String,java.lang.String)"
    functionSourceFile: "com.netflix.spectator.api.BasicTag"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.netflix.spectator.impl.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.lang.String].hashCode()"
    functionUses: 3
    ICount: 21
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.netflix.spectator.api.BasicTag:45"
      Branch Sides:
      - BranchSide: "com.netflix.spectator.api.BasicTag:49"
        BranchSideFuncs:
        - "format(java.lang.String,java.lang.Object[])"
        - "<init>(java.lang.String)"
      - BranchSide: "com.netflix.spectator.api.BasicTag:48"
        BranchSideFuncs:
        - "hashCode()"
    Callsites:
    - Src: "com.netflix.spectator.api.BasicTag:42,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.spectator.api.BasicTag:43,1"
      Dst: "[com.netflix.spectator.impl.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.spectator.api.BasicTag:46,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.netflix.spectator.api.BasicTag:47,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "com.netflix.spectator.api.BasicTag:49,1"
      Dst: "[java.lang.String].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.BasicTag].key()"
    functionSourceFile: "com.netflix.spectator.api.BasicTag"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.BasicTag].value()"
    functionSourceFile: "com.netflix.spectator.api.BasicTag"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.BasicTag].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.spectator.api.BasicTag"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    functionUses: 39
    ICount: 21
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.netflix.spectator.api.BasicTag:63"
      Branch Sides:
      - BranchSide: "com.netflix.spectator.api.BasicTag:64"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.spectator.api.BasicTag:63"
        BranchSideFuncs: []
    - Branch String: "com.netflix.spectator.api.BasicTag:64"
      Branch Sides:
      - BranchSide: "com.netflix.spectator.api.BasicTag:64"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.netflix.spectator.api.BasicTag:63"
        BranchSideFuncs: []
    - Branch String: "com.netflix.spectator.api.BasicTag:64"
      Branch Sides:
      - BranchSide: "com.netflix.spectator.api.BasicTag:65"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.netflix.spectator.api.BasicTag:64"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.spectator.api.BasicTag:66"
      Branch Sides:
      - BranchSide: "com.netflix.spectator.api.BasicTag:64"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.spectator.api.BasicTag:66"
      Branch Sides:
      - BranchSide: "com.netflix.spectator.api.BasicTag:64"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    Callsites:
    - Src: "com.netflix.spectator.api.BasicTag:66,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.spectator.api.BasicTag].hashCode()"
    functionSourceFile: "com.netflix.spectator.api.BasicTag"
    linkageType: ""
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 39
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.BasicTag].toString()"
    functionSourceFile: "com.netflix.spectator.api.BasicTag"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(char)"
    functionUses: 39
    ICount: 10
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.api.BasicTag:83,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.spectator.api.BasicTag:83,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.spectator.api.BasicTag:83,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.spectator.api.BasicTag:83,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTagList].getTag(java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionDepth: 2
    returnType: "com.netflix.servo.tag.Tag"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap].get(java.lang.String)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:64,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].get(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTagList].getValue(java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap].get(java.lang.String)"
    - "[com.netflix.servo.annotations.DataSourceLevel].getValue()"
    - "[com.netflix.servo.annotations.DataSourceType].getValue()"
    - "[com.netflix.servo.tag.BasicTag:com.netflix.servo.tag.InjectableTag].getValue()"
    - "[com.netflix.servo.tag.Tag].getValue()"
    functionUses: 4
    ICount: 9
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.BasicTagList:72"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.BasicTagList:70"
        BranchSideFuncs:
        - "getValue()"
        - "get(java.lang.String)"
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:71,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].get(java.lang.String)"
    - Src: "com.netflix.servo.tag.BasicTagList:72,1"
      Dst: "[com.netflix.servo.tag.Tag].getValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.BasicTagList].containsKey(java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap].containsKey(java.lang.String)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:79,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].containsKey(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTagList].isEmpty()"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap].isEmpty()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:86,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTagList].size()"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap].size()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:93,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].size()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTagList].iterator()"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionDepth: 3
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    functionUses: 59
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:100,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].iterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTagList].asMap()"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionDepth: 3
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.TreeMap].<init>()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[com.netflix.servo.annotations.DataSourceType].getKey()"
    - "[com.netflix.servo.tag.BasicTag].getKey()"
    - "[com.netflix.servo.annotations.DataSourceLevel].getValue()"
    - "[com.netflix.servo.annotations.DataSourceType].getValue()"
    - "[java.util.TreeMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Collections].unmodifiableSortedMap(java.util.SortedMap)"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.tag.Tag].getKey()"
    - "[com.netflix.servo.tag.Tag].getValue()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 2
    ICount: 21
    EdgeCount: 134
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.BasicTagList:107"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.BasicTagList:111"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.BasicTagList:110"
        BranchSideFuncs:
        - "hasNext()"
        - "<init>()"
        - "iterator()"
        - "next()"
    - Branch String: "com.netflix.servo.tag.BasicTagList:112"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.BasicTagList:115"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
        - "hasNext()"
        - "iterator()"
        - "getValue()"
        - "next()"
        - "getKey()"
      - BranchSide: "com.netflix.servo.tag.BasicTagList:114"
        BranchSideFuncs:
        - "unmodifiableSortedMap(java.util.SortedMap)"
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:111,1"
      Dst: "[java.util.TreeMap].<init>()"
    - Src: "com.netflix.servo.tag.BasicTagList:112,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - Src: "com.netflix.servo.tag.BasicTagList:112,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.tag.BasicTagList:112,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.tag.BasicTagList:113,1"
      Dst: "[com.netflix.servo.tag.Tag].getKey()"
    - Src: "com.netflix.servo.tag.BasicTagList:113,1"
      Dst: "[com.netflix.servo.tag.Tag].getValue()"
    - Src: "com.netflix.servo.tag.BasicTagList:113,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.tag.BasicTagList:115,1"
      Dst: "[java.util.Collections].unmodifiableSortedMap(java.util.SortedMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.BasicTagList].copy(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "com.netflix.servo.tag.BasicTagList"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.BasicTagList].concat(com.netflix.servo.tag.TagList,com.netflix.servo.tag.TagList)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:124,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].concat(com.netflix.servo.tag.TagList,com.netflix.servo.tag.TagList)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTagList].concat(com.netflix.servo.tag.TagList,com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "com.netflix.servo.tag.BasicTagList"
    argCount: 2
    argTypes:
    - "com.netflix.servo.tag.TagList"
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Iterables].concat(java.lang.Iterable,java.lang.Iterable)"
    - "[com.netflix.servo.tag.BasicTagList].<init>(java.lang.Iterable)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:167,1"
      Dst: "[com.netflix.servo.util.Iterables].concat(java.lang.Iterable,java.lang.Iterable)"
    - Src: "com.netflix.servo.tag.BasicTagList:167,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].<init>(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTagList].copy(java.lang.String,java.lang.String)"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "com.netflix.servo.tag.BasicTagList"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.tag.BasicTagList].concat(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag[])"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:133,1"
      Dst: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.tag.BasicTagList:133,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].concat(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTagList].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap].equals(java.lang.Object)"
    functionUses: 40
    ICount: 14
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.BasicTagList:141"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.BasicTagList:141"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.netflix.servo.tag.BasicTagList:140"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.tag.BasicTagList:141"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.BasicTagList:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.netflix.servo.tag.BasicTagList:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.tag.BasicTagList:142"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.BasicTagList:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:142,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.tag.BasicTagList].hashCode()"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap].hashCode()"
    functionUses: 40
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:150,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTagList].toString()"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionDepth: 3
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.netflix.servo.util.Strings].join(java.lang.String,java.util.Iterator)"
    functionUses: 42
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:158,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - Src: "com.netflix.servo.tag.BasicTagList:158,1"
      Dst: "[com.netflix.servo.util.Strings].join(java.lang.String,java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTagList].of(java.lang.String[])"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionDepth: 4
    returnType: "com.netflix.servo.tag.BasicTagList"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    - "[com.netflix.servo.tag.SmallTagMap].builder()"
    - "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.tag.BasicTagList].<init>(com.netflix.servo.tag.SmallTagMap)"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    functionUses: 1
    ICount: 23
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.BasicTagList:189"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.BasicTagList:189"
        BranchSideFuncs:
        - "checkArgument(boolean,java.lang.String)"
        - "builder()"
      - BranchSide: "com.netflix.servo.tag.BasicTagList:188"
        BranchSideFuncs:
        - "checkArgument(boolean,java.lang.String)"
    - Branch String: "com.netflix.servo.tag.BasicTagList:193"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.BasicTagList:196"
        BranchSideFuncs:
        - "result()"
        - "<init>(com.netflix.servo.tag.SmallTagMap)"
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:189,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    - Src: "com.netflix.servo.tag.BasicTagList:192,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].builder()"
    - Src: "com.netflix.servo.tag.BasicTagList:194,1"
      Dst: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.tag.BasicTagList:195,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.tag.BasicTagList:197,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    - Src: "com.netflix.servo.tag.BasicTagList:197,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].<init>(com.netflix.servo.tag.SmallTagMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.tag.BasicTagList].of(com.netflix.servo.tag.Tag[])"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "com.netflix.servo.tag.BasicTagList"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.Tag[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[com.netflix.servo.tag.BasicTagList].<init>(java.lang.Iterable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:204,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "com.netflix.servo.tag.BasicTagList:204,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].<init>(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTagList].copyOf(com.netflix.servo.tag.Tag[])"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "com.netflix.servo.tag.BasicTagList"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.Tag[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[com.netflix.servo.tag.BasicTagList].<init>(java.lang.Iterable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:214,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "com.netflix.servo.tag.BasicTagList:214,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].<init>(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTagList].copyOf(java.lang.String[])"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.tag.BasicTagList"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[com.netflix.servo.tag.BasicTagList].copyOf(java.lang.Iterable)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:225,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "com.netflix.servo.tag.BasicTagList:225,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].copyOf(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.BasicTagList].copyOf(java.lang.Iterable<String>)"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "com.netflix.servo.tag.BasicTagList"
    argCount: 1
    argTypes:
    - "java.lang.Iterable<String>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap].builder()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.tag.Tags].parseTag(java.lang.String)"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    - "[com.netflix.servo.tag.BasicTagList].<init>(com.netflix.servo.tag.SmallTagMap)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.BasicTagList:234"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.BasicTagList:237"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.BasicTagList:236"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:233,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].builder()"
    - Src: "com.netflix.servo.tag.BasicTagList:234,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.netflix.servo.tag.BasicTagList:234,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.tag.BasicTagList:234,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.tag.BasicTagList:235,1"
      Dst: "[com.netflix.servo.tag.Tags].parseTag(java.lang.String)"
    - Src: "com.netflix.servo.tag.BasicTagList:235,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.tag.BasicTagList:237,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    - Src: "com.netflix.servo.tag.BasicTagList:237,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].<init>(com.netflix.servo.tag.SmallTagMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.BasicTagList].copyOf(java.util.Map<String,String>)"
    functionSourceFile: "com.netflix.servo.tag.BasicTagList"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.netflix.servo.tag.BasicTagList"
    argCount: 1
    argTypes:
    - "java.util.Map<String,String>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap].builder()"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.Map$Entry].getValue()"
    - "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    - "[com.netflix.servo.tag.BasicTagList].<init>(com.netflix.servo.tag.SmallTagMap)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.BasicTagList:245"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.BasicTagList:248"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.tag.BasicTagList:247"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.tag.BasicTagList:244,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].builder()"
    - Src: "com.netflix.servo.tag.BasicTagList:245,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "com.netflix.servo.tag.BasicTagList:245,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.netflix.servo.tag.BasicTagList:245,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.tag.BasicTagList:245,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.tag.BasicTagList:246,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.netflix.servo.tag.BasicTagList:246,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.netflix.servo.tag.BasicTagList:246,1"
      Dst: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.tag.BasicTagList:246,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].add(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.tag.BasicTagList:248,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap$Builder].result()"
    - Src: "com.netflix.servo.tag.BasicTagList:248,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].<init>(com.netflix.servo.tag.SmallTagMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.DefaultPublishingPolicy].<init>()"
    functionSourceFile: "com.netflix.servo.monitor.DefaultPublishingPolicy"
    linkageType: ""
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DefaultPublishingPolicy:25,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DefaultPublishingPolicy].toString()"
    functionSourceFile: "com.netflix.servo.monitor.DefaultPublishingPolicy"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 39
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.monitor.BucketConfig)"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.monitor.BucketConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BucketTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.monitor.BucketConfig,java.util.concurrent.TimeUnit)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer:94,1"
      Dst: "[com.netflix.servo.monitor.BucketTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.monitor.BucketConfig,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.monitor.BucketConfig,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.monitor.BucketConfig"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BucketTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.monitor.BucketConfig,java.util.concurrent.TimeUnit,com.netflix.servo.util.Clock)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer:101,1"
      Dst: "[com.netflix.servo.monitor.BucketTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.monitor.BucketConfig,java.util.concurrent.TimeUnit,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.monitor.BucketConfig,java.util.concurrent.TimeUnit,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.monitor.BucketConfig"
    - "java.util.concurrent.TimeUnit"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[java.lang.Enum].name()"
    - "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.BasicCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MinGauge].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    - "[com.netflix.servo.monitor.MaxGauge].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    - "[com.netflix.servo.monitor.BucketConfig].getBuckets()"
    - "[java.lang.Long].toString(long)"
    - "[java.lang.String].length()"
    - "[com.netflix.servo.monitor.BucketConfig].getTimeUnitAbbreviation()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.Long].valueOf(long)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.List].add(java.lang.Object)"
    - "[java.util.Arrays].asList(java.lang.Object[])"
    - "[java.util.List].addAll(java.util.Collection)"
    - "[java.util.Collections].unmodifiableList(java.util.List)"
    functionUses: 0
    ICount: 84
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BucketTimer:126"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:133"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer:105,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.BucketTimer:106,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.monitor.BucketTimer:108,1"
      Dst: "[java.lang.Enum].name()"
    - Src: "com.netflix.servo.monitor.BucketTimer:108,1"
      Dst: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.monitor.BucketTimer:109,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.BucketTimer:112,1"
      Dst: "[com.netflix.servo.monitor.BasicCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.BucketTimer:116,1"
      Dst: "[com.netflix.servo.monitor.MinGauge].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    - Src: "com.netflix.servo.monitor.BucketTimer:117,1"
      Dst: "[com.netflix.servo.monitor.MaxGauge].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    - Src: "com.netflix.servo.monitor.BucketTimer:119,1"
      Dst: "[com.netflix.servo.monitor.BucketConfig].getBuckets()"
    - Src: "com.netflix.servo.monitor.BucketTimer:121,1"
      Dst: "[java.lang.Long].toString(long)"
    - Src: "com.netflix.servo.monitor.BucketTimer:121,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.netflix.servo.monitor.BucketTimer:122,1"
      Dst: "[com.netflix.servo.monitor.BucketConfig].getTimeUnitAbbreviation()"
    - Src: "com.netflix.servo.monitor.BucketTimer:128,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.BucketTimer:128,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.BucketTimer:128,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.netflix.servo.monitor.BucketTimer:128,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.netflix.servo.monitor.BucketTimer:130,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.monitor.BucketTimer:130,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.netflix.servo.monitor.BucketTimer:134,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.netflix.servo.monitor.BucketTimer:135,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BucketTimer:138,1"
      Dst: "[java.util.Arrays].asList(java.lang.Object[])"
    - Src: "com.netflix.servo.monitor.BucketTimer:138,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    - Src: "com.netflix.servo.monitor.BucketTimer:140,1"
      Dst: "[java.util.Collections].unmodifiableList(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.BucketTimer].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BucketTimer$lambda_initializeSpectator_0__24].bootstrap$(com.netflix.servo.tag.TagList)"
    - "[java.util.ArrayList].forEach(java.util.function.Consumer)"
    - "[java.util.concurrent.CopyOnWriteArrayList].forEach(java.util.function.Consumer)"
    - "[java.lang.Iterable].forEach(java.util.function.Consumer)"
    - "[java.util.Vector].forEach(java.util.function.Consumer)"
    functionUses: 6
    ICount: 6
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer:148,1"
      Dst: "[com.netflix.servo.monitor.BucketTimer$lambda_initializeSpectator_0__24].bootstrap$(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.BucketTimer:148,1"
      Dst: "[java.lang.Iterable].forEach(java.util.function.Consumer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketTimer].getMonitors()"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketTimer].start()"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.netflix.servo.monitor.Stopwatch"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.TimedStopwatch].<init>(com.netflix.servo.monitor.Timer)"
    - "[com.netflix.servo.monitor.Stopwatch].start()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer:168,1"
      Dst: "[com.netflix.servo.monitor.TimedStopwatch].<init>(com.netflix.servo.monitor.Timer)"
    - Src: "com.netflix.servo.monitor.BucketTimer:169,1"
      Dst: "[com.netflix.servo.monitor.Stopwatch].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketTimer].getTimeUnit()"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.concurrent.TimeUnit"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketTimer].record(long)"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Counter].increment(long)"
    - "[com.netflix.servo.monitor.MinGauge].update(long)"
    - "[com.netflix.servo.monitor.MaxGauge].update(long)"
    - "[com.netflix.servo.monitor.BucketConfig].getBuckets()"
    - "[com.netflix.servo.monitor.BucketConfig].getTimeUnit()"
    - "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.monitor.Counter].increment()"
    functionUses: 0
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BucketTimer:192"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:198"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:197"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BucketTimer:193"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:186"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:185"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer:186,1"
      Dst: "[com.netflix.servo.monitor.Counter].increment(long)"
    - Src: "com.netflix.servo.monitor.BucketTimer:187,1"
      Dst: "[com.netflix.servo.monitor.MinGauge].update(long)"
    - Src: "com.netflix.servo.monitor.BucketTimer:188,1"
      Dst: "[com.netflix.servo.monitor.MaxGauge].update(long)"
    - Src: "com.netflix.servo.monitor.BucketTimer:190,1"
      Dst: "[com.netflix.servo.monitor.BucketConfig].getBuckets()"
    - Src: "com.netflix.servo.monitor.BucketTimer:191,1"
      Dst: "[com.netflix.servo.monitor.BucketConfig].getTimeUnit()"
    - Src: "com.netflix.servo.monitor.BucketTimer:191,1"
      Dst: "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.monitor.BucketTimer:194,1"
      Dst: "[com.netflix.servo.monitor.Counter].increment()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.BucketTimer].record(long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.monitor.BucketTimer].record(long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer:206,1"
      Dst: "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.monitor.BucketTimer:206,1"
      Dst: "[com.netflix.servo.monitor.BucketTimer].record(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketTimer].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionDepth: 1
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BucketTimer].getCount(int)"
    - "[java.lang.Long].longValue()"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getValue()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    - "[java.lang.Integer].longValue()"
    - "[com.netflix.spectator.impl.AtomicDouble].longValue()"
    - "[java.util.concurrent.atomic.AtomicLong].longValue()"
    - "[com.google.common.cache.LongAdder].longValue()"
    - "[java.math.BigInteger].longValue()"
    - "[java.util.concurrent.atomic.AtomicInteger].longValue()"
    - "[com.google.common.primitives.UnsignedInteger].longValue()"
    - "[java.math.BigDecimal].longValue()"
    - "[java.lang.Double].longValue()"
    - "[java.util.concurrent.atomic.LongAdder].longValue()"
    - "[java.lang.Byte].longValue()"
    - "[java.lang.Float].longValue()"
    - "[com.google.common.util.concurrent.AtomicDouble].longValue()"
    - "[com.google.common.primitives.UnsignedLong].longValue()"
    - "[java.lang.Short].longValue()"
    - "[java.lang.Long].valueOf(long)"
    - "[com.netflix.servo.monitor.Monitor].getValue()"
    - "[java.lang.Number].longValue()"
    functionUses: 2
    ICount: 15
    EdgeCount: 21
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BucketTimer:215"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:213"
        BranchSideFuncs:
        - "getValue()"
        - "getCount(int)"
        - "longValue()"
        - "valueOf(long)"
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer:214,1"
      Dst: "[com.netflix.servo.monitor.BucketTimer].getCount(int)"
    - Src: "com.netflix.servo.monitor.BucketTimer:214,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.netflix.servo.monitor.BucketTimer:215,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue()"
    - Src: "com.netflix.servo.monitor.BucketTimer:215,1"
      Dst: "[java.lang.Number].longValue()"
    - Src: "com.netflix.servo.monitor.BucketTimer:215,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.BucketTimer].getCount(int)"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionDepth: 0
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.PeakRateCounter].getValue(int)"
    - "[com.netflix.servo.monitor.StepCounter].getValue(int)"
    - "[com.netflix.servo.monitor.BasicCounter].getValue(int)"
    - "[com.netflix.servo.monitor.ContextualCounter].getValue(int)"
    - "[java.lang.Integer].longValue()"
    - "[com.netflix.spectator.impl.AtomicDouble].longValue()"
    - "[java.util.concurrent.atomic.AtomicLong].longValue()"
    - "[com.google.common.cache.LongAdder].longValue()"
    - "[java.lang.Long].longValue()"
    - "[java.math.BigInteger].longValue()"
    - "[java.util.concurrent.atomic.AtomicInteger].longValue()"
    - "[com.google.common.primitives.UnsignedInteger].longValue()"
    - "[java.math.BigDecimal].longValue()"
    - "[java.lang.Double].longValue()"
    - "[java.util.concurrent.atomic.LongAdder].longValue()"
    - "[java.lang.Byte].longValue()"
    - "[java.lang.Float].longValue()"
    - "[com.google.common.util.concurrent.AtomicDouble].longValue()"
    - "[com.google.common.primitives.UnsignedLong].longValue()"
    - "[java.lang.Short].longValue()"
    - "[java.lang.Long].valueOf(long)"
    - "[com.netflix.servo.monitor.Monitor].getValue(int)"
    - "[java.lang.Number].longValue()"
    functionUses: 1
    ICount: 21
    EdgeCount: 41
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BucketTimer:230"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:232"
        BranchSideFuncs:
        - "getValue(int)"
        - "longValue()"
        - "valueOf(long)"
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer:231,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue(int)"
    - Src: "com.netflix.servo.monitor.BucketTimer:231,1"
      Dst: "[java.lang.Number].longValue()"
    - Src: "com.netflix.servo.monitor.BucketTimer:235,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.BucketTimer].getTotalTime()"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitor].getValue()"
    - "[java.lang.Number].longValue()"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer:222,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue()"
    - Src: "com.netflix.servo.monitor.BucketTimer:222,1"
      Dst: "[java.lang.Number].longValue()"
    - Src: "com.netflix.servo.monitor.BucketTimer:222,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketTimer].getMin(int)"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MinGauge].getValue(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer:242,1"
      Dst: "[com.netflix.servo.monitor.MinGauge].getValue(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketTimer].getMax(int)"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MaxGauge].getValue(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer:249,1"
      Dst: "[com.netflix.servo.monitor.MaxGauge].getValue(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketTimer].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: 256
    functionLinenumberEnd: 269
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.BucketConfig].equals(java.lang.Object)"
    - "[java.lang.Enum].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicCounter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.PeakRateCounter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StepCounter].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MinGauge].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MaxGauge].equals(java.lang.Object)"
    - "[java.util.Arrays].equals(java.lang.Object[],java.lang.Object[])"
    functionUses: 41
    ICount: 43
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BucketTimer:257"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:258"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:257"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BucketTimer:257"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:260"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:259"
        BranchSideFuncs:
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.BucketTimer:261"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:-1"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BucketTimer:262"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:-1"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BucketTimer:263"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:-1"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BucketTimer:264"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:-1"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BucketTimer:265"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:-1"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BucketTimer:266"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BucketTimer:267"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object[],java.lang.Object[])"
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BucketTimer:268"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketTimer:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer:261,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.BucketTimer:261,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BucketTimer:262,1"
      Dst: "[com.netflix.servo.monitor.BucketConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BucketTimer:263,1"
      Dst: "[java.lang.Enum].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BucketTimer:264,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BucketTimer:265,1"
      Dst: "[com.netflix.servo.monitor.MinGauge].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BucketTimer:266,1"
      Dst: "[com.netflix.servo.monitor.MaxGauge].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BucketTimer:268,1"
      Dst: "[java.util.Arrays].equals(java.lang.Object[],java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 14
    CyclomaticComplexity: 10
  - functionName: "[com.netflix.servo.monitor.BucketTimer].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: 275
    functionLinenumberEnd: 285
    functionDepth: 4
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[java.lang.Enum].hashCode()"
    - "[com.netflix.servo.monitor.PeakRateCounter].hashCode()"
    - "[com.netflix.servo.monitor.StepCounter].hashCode()"
    - "[com.netflix.servo.monitor.BasicCounter].hashCode()"
    - "[java.lang.Object].hashCode()"
    - "[java.util.Arrays].hashCode(java.lang.Object[])"
    - "[com.netflix.servo.monitor.MinGauge].hashCode()"
    - "[com.netflix.servo.monitor.MaxGauge].hashCode()"
    - "[com.netflix.servo.monitor.BucketConfig].hashCode()"
    functionUses: 41
    ICount: 32
    EdgeCount: 14
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer:276,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.BucketTimer:277,1"
      Dst: "[java.lang.Enum].hashCode()"
    - Src: "com.netflix.servo.monitor.BucketTimer:278,1"
      Dst: "[java.lang.Object].hashCode()"
    - Src: "com.netflix.servo.monitor.BucketTimer:279,1"
      Dst: "[java.util.Arrays].hashCode(java.lang.Object[])"
    - Src: "com.netflix.servo.monitor.BucketTimer:281,1"
      Dst: "[com.netflix.servo.monitor.MinGauge].hashCode()"
    - Src: "com.netflix.servo.monitor.BucketTimer:282,1"
      Dst: "[com.netflix.servo.monitor.MaxGauge].hashCode()"
    - Src: "com.netflix.servo.monitor.BucketTimer:283,1"
      Dst: "[com.netflix.servo.monitor.BucketConfig].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketTimer].toString()"
    functionSourceFile: "com.netflix.servo.monitor.BucketTimer"
    linkageType: ""
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.util.Arrays].toString(java.lang.Object[])"
    functionUses: 39
    ICount: 31
    EdgeCount: 20
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketTimer:292,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.BucketTimer:292,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.BucketTimer:292,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BucketTimer:298,1"
      Dst: "[java.util.Arrays].toString(java.lang.Object[])"
    - Src: "com.netflix.servo.monitor.BucketTimer:298,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.BucketTimer:298,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.TagList$1].<init>(com.netflix.spectator.api.TagList,int)"
    functionSourceFile: "com.netflix.spectator.api.TagList$1"
    linkageType: ""
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.spectator.api.TagList"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 8
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.api.TagList$1:81,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.TagList$1].hasNext()"
    functionSourceFile: "com.netflix.spectator.api.TagList$1"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 431
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.spectator.api.TagList$1:85"
      Branch Sides:
      - BranchSide: "com.netflix.spectator.api.TagList$1:84"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.spectator.api.TagList$1].next()"
    functionSourceFile: "com.netflix.spectator.api.TagList$1"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionDepth: 0
    returnType: "com.netflix.spectator.api.Tag"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.NoSuchElementException].<init>(java.lang.String)"
    - "[com.netflix.spectator.api.TagList].getTag(int)"
    functionUses: 414
    ICount: 13
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.netflix.spectator.api.TagList$1:89"
      Branch Sides:
      - BranchSide: "com.netflix.spectator.api.TagList$1:92"
        BranchSideFuncs:
        - "<init>(java.lang.String)"
      - BranchSide: "com.netflix.spectator.api.TagList$1:91"
        BranchSideFuncs:
        - "getTag(int)"
    Callsites:
    - Src: "com.netflix.spectator.api.TagList$1:90,1"
      Dst: "[java.util.NoSuchElementException].<init>(java.lang.String)"
    - Src: "com.netflix.spectator.api.TagList$1:92,1"
      Dst: "[com.netflix.spectator.api.TagList].getTag(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.Memoizer].create(java.util.concurrent.Callable<T>,long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.util.Memoizer"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionDepth: 1
    returnType: "com.netflix.servo.util.Memoizer<T>"
    argCount: 3
    argTypes:
    - "java.util.concurrent.Callable<T>"
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Memoizer].<init>(java.util.concurrent.Callable,long,java.util.concurrent.TimeUnit)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.Memoizer:38,1"
      Dst: "[com.netflix.servo.util.Memoizer].<init>(java.util.concurrent.Callable,long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.Memoizer].<init>(java.util.concurrent.Callable,long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.util.Memoizer"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.util.concurrent.Callable"
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.TimeUnit].toNanos(long)"
    functionUses: 1
    ICount: 10
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.Memoizer:46,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.util.Memoizer:47,1"
      Dst: "[java.util.concurrent.TimeUnit].toNanos(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicGauge$lambda_initializeSpectator_0__23].bootstrap$()"
    functionSourceFile: "com.netflix.servo.monitor.BasicGauge$lambda_initializeSpectator_0__23"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.ToDoubleFunction"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BasicGauge$lambda_initializeSpectator_0__23].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicGauge$lambda_initializeSpectator_0__23:-1,1"
      Dst: "[com.netflix.servo.monitor.BasicGauge$lambda_initializeSpectator_0__23].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicGauge$lambda_initializeSpectator_0__23].<init>()"
    functionSourceFile: "com.netflix.servo.monitor.BasicGauge$lambda_initializeSpectator_0__23"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicGauge$lambda_initializeSpectator_0__23:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicGauge$lambda_initializeSpectator_0__23].applyAsDouble(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.BasicGauge$lambda_initializeSpectator_0__23"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "double"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BasicGauge].lambda$initializeSpectator$0(com.netflix.servo.monitor.BasicGauge)"
    functionUses: 4
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicGauge$lambda_initializeSpectator_0__23:-1,1"
      Dst: "[com.netflix.servo.monitor.BasicGauge].lambda$initializeSpectator$0(com.netflix.servo.monitor.BasicGauge)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicGauge].lambda$initializeSpectator$0(com.netflix.servo.monitor.BasicGauge)"
    functionSourceFile: "com.netflix.servo.monitor.BasicGauge"
    linkageType: ""
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionDepth: 3
    returnType: "double"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.BasicGauge"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.util.concurrent.AtomicDouble].doubleValue()"
    - "[com.google.common.primitives.UnsignedInteger].doubleValue()"
    - "[com.google.common.cache.LongAdder].doubleValue()"
    - "[com.netflix.spectator.impl.AtomicDouble].doubleValue()"
    - "[com.google.common.primitives.UnsignedLong:java.lang.Byte:java.lang.Double:java.lang.Float:java.lang.Integer:java.lang.Long:java.lang.Short:java.math.BigDecimal:java.math.BigInteger:java.util.concurrent.atomic.AtomicInteger:java.util.concurrent.atomic.AtomicLong:java.util.concurrent.atomic.LongAdder].doubleValue()"
    - "[com.netflix.servo.monitor.BasicGauge].getValue(int)"
    - "[java.lang.Number].doubleValue()"
    functionUses: 1
    ICount: 4
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicGauge:64,1"
      Dst: "[com.netflix.servo.monitor.BasicGauge].getValue(int)"
    - Src: "com.netflix.servo.monitor.BasicGauge:64,1"
      Dst: "[java.lang.Number].doubleValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicGauge].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.BasicGauge"
    linkageType: ""
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionDepth: 2
    returnType: "java.lang.Number"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.util.concurrent.AbstractScheduledService$CustomScheduler$ReschedulableCallable].call()"
    - "[com.netflix.servo.monitor.DurationTimer$1].call()"
    - "[com.google.common.util.concurrent.SimpleTimeLimiter$1$1].call()"
    - "[com.netflix.servo.publish.MonitorRegistryMetricPoller$MonitorValueCallable].call()"
    - "[com.netflix.servo.publish.PollCallable].call()"
    - "[com.netflix.servo.monitor.MonitoredCache$stats__17].call()"
    - "[org.testng.internal.TestMethodWithDataProviderMethodWorker].call()"
    - "[com.google.common.util.concurrent.Callables$2].call()"
    - "[com.google.common.util.concurrent.Callables$1].call()"
    - "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    - "[java.util.concurrent.Callable].call()"
    functionUses: 2
    ICount: 9
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicGauge:52,1"
      Dst: "[java.util.concurrent.Callable].call()"
    - Src: "com.netflix.servo.monitor.BasicGauge:54,1"
      Dst: "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicCompositeMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.List)"
    functionSourceFile: "com.netflix.servo.monitor.BasicCompositeMonitor"
    linkageType: ""
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.util.UnmodifiableList].copyOf(java.lang.Iterable)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicCompositeMonitor:38,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.BasicCompositeMonitor:39,1"
      Dst: "[com.netflix.servo.util.UnmodifiableList].copyOf(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicCompositeMonitor].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.BasicCompositeMonitor"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionDepth: 0
    returnType: "java.lang.Integer"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Lists$StringAsImmutableList].size()"
    - "[com.google.common.collect.LinkedListMultimap$4].size()"
    - "[com.google.common.collect.LinkedListMultimap$1].size()"
    - "[com.google.common.collect.Lists$AbstractListWrapper].size()"
    - "[com.google.common.collect.Sets$CartesianSet$1].size()"
    - "[com.google.common.collect.ForwardingCollection].size()"
    - "[com.google.common.collect.ImmutableAsList].size()"
    - "[com.google.common.collect.CartesianList$1].size()"
    - "[com.google.common.collect.Lists$CharSequenceAsList].size()"
    - "[com.google.common.collect.Lists$Partition].size()"
    - "[com.google.common.collect.Lists$ReverseList].size()"
    - "[com.google.common.collect.RegularImmutableTable$Values].size()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].size()"
    - "[com.google.common.collect.Lists$TransformingSequentialList].size()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].size()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].size()"
    - "[com.google.common.collect.LinkedListMultimap$3].size()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].size()"
    - "[com.google.common.base.Joiner$3:com.google.common.collect.CartesianList:com.google.common.collect.ImmutableList$SubList:com.google.common.collect.ImmutableRangeMap$1:com.google.common.collect.ImmutableRangeSet$1:com.google.common.collect.ImmutableRangeSet$ComplementRanges:com.google.common.collect.Lists$OnePlusArrayList:com.google.common.collect.Lists$TwoPlusArrayList:com.google.common.collect.RegularImmutableList:com.google.common.collect.SingletonImmutableList:com.google.common.primitives.Booleans$BooleanArrayAsList:com.google.common.primitives.Bytes$ByteArrayAsList:com.google.common.primitives.Chars$CharArrayAsList:com.google.common.primitives.Doubles$DoubleArrayAsList:com.google.common.primitives.Floats$FloatArrayAsList:com.google.common.primitives.Ints$IntArrayAsList:com.google.common.primitives.Longs$LongArrayAsList:com.google.common.primitives.Shorts$ShortArrayAsList:java.util.ArrayList:java.util.LinkedList:java.util.Vector:java.util.concurrent.CopyOnWriteArrayList:sun.awt.util.IdentityArrayList].size()"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.util.List].size()"
    functionUses: 2
    ICount: 6
    EdgeCount: 20
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicCompositeMonitor:47,1"
      Dst: "[java.util.List].size()"
    - Src: "com.netflix.servo.monitor.BasicCompositeMonitor:47,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicCompositeMonitor].getMonitors()"
    functionSourceFile: "com.netflix.servo.monitor.BasicCompositeMonitor"
    linkageType: ""
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 7
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicCompositeMonitor].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.BasicCompositeMonitor"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].equals(java.lang.Object)"
    - "[com.google.common.primitives.Chars$CharArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.primitives.Ints$IntArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.collect.ImmutableList].equals(java.lang.Object)"
    - "[com.google.common.collect.ForwardingList].equals(java.lang.Object)"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.primitives.Longs$LongArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].equals(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableList].equals(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedList].equals(java.lang.Object)"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[java.util.ArrayList].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].getMonitors()"
    - "[java.util.List].equals(java.lang.Object)"
    functionUses: 41
    ICount: 19
    EdgeCount: 17
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BasicCompositeMonitor:63"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicCompositeMonitor:64"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicCompositeMonitor:63"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicCompositeMonitor:63"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicCompositeMonitor:66"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicCompositeMonitor:65"
        BranchSideFuncs:
        - "getMonitors()"
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.BasicCompositeMonitor:67"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicCompositeMonitor:65"
        BranchSideFuncs:
        - "getMonitors()"
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.BasicCompositeMonitor:67"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicCompositeMonitor:65"
        BranchSideFuncs:
        - "getMonitors()"
        - "equals(java.lang.Object)"
        - "getConfig()"
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicCompositeMonitor:67,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.BasicCompositeMonitor:67,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BasicCompositeMonitor:67,1"
      Dst: "[com.netflix.servo.monitor.BasicCompositeMonitor].getMonitors()"
    - Src: "com.netflix.servo.monitor.BasicCompositeMonitor:67,1"
      Dst: "[java.util.List].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.BasicCompositeMonitor].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.BasicCompositeMonitor"
    linkageType: ""
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.google.common.collect.ForwardingList].hashCode()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].hashCode()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].hashCode()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].hashCode()"
    - "[com.google.common.collect.SingletonImmutableList].hashCode()"
    - "[com.google.common.collect.Synchronized$SynchronizedList].hashCode()"
    - "[com.google.common.collect.ImmutableList].hashCode()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].hashCode()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].hashCode()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].hashCode()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].hashCode()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].hashCode()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].hashCode()"
    - "[java.util.AbstractList:java.util.ArrayList:java.util.Vector:java.util.concurrent.CopyOnWriteArrayList].hashCode()"
    - "[java.util.List].hashCode()"
    functionUses: 41
    ICount: 8
    EdgeCount: 15
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicCompositeMonitor:75,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.BasicCompositeMonitor:76,1"
      Dst: "[java.util.List].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicCompositeMonitor].toString()"
    functionSourceFile: "com.netflix.servo.monitor.BasicCompositeMonitor"
    linkageType: ""
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 39
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicCompositeMonitor:85,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.BasicCompositeMonitor:85,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.BasicCompositeMonitor:85,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BasicCompositeMonitor:85,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.BasicCompositeMonitor:85,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.SpectatorMonitorWrapper].<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.NumericMonitor)"
    functionSourceFile: "com.netflix.servo.monitor.SpectatorMonitorWrapper"
    linkageType: ""
    functionLinenumber: 8
    functionLinenumberEnd: 14
    functionDepth: 9
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.tag.TagList"
    - "com.netflix.servo.monitor.NumericMonitor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.NumericMonitorWrapper].<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.NumericMonitor)"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.NumberGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.StatsMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BucketTimer].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.StepCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DoubleCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.LongGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DoubleGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MaxGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicTimer].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor:com.netflix.servo.monitor.AnnotatedNumberMonitor:com.netflix.servo.monitor.CompositeMonitorWrapper:com.netflix.servo.monitor.DynamicCounter:com.netflix.servo.monitor.DynamicGauge:com.netflix.servo.monitor.DynamicTimer:com.netflix.servo.monitor.SpectatorMonitorWrapper].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.SpectatorMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionUses: 1
    ICount: 9
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.SpectatorMonitorWrapper:10"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.SpectatorMonitorWrapper:13"
        BranchSideFuncs:
        - "initializeSpectator(com.netflix.servo.tag.TagList)"
      - BranchSide: "com.netflix.servo.monitor.SpectatorMonitorWrapper:12"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.SpectatorMonitorWrapper:9,1"
      Dst: "[com.netflix.servo.monitor.NumericMonitorWrapper].<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.NumericMonitor)"
    - Src: "com.netflix.servo.monitor.SpectatorMonitorWrapper:11,1"
      Dst: "[com.netflix.servo.monitor.SpectatorMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.SpectatorMonitorWrapper].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.SpectatorMonitorWrapper"
    linkageType: ""
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.Tags].<init>()"
    functionSourceFile: "com.netflix.servo.tag.Tags"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.Tags:92,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$MeanGaugeWrapper].update(com.netflix.servo.stats.StatsBuffer)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$MeanGaugeWrapper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.stats.StatsBuffer].getMean()"
    - "[java.lang.Double].valueOf(double)"
    - "[com.netflix.servo.monitor.DoubleGauge].set(java.lang.Double)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$MeanGaugeWrapper:206,1"
      Dst: "[com.netflix.servo.stats.StatsBuffer].getMean()"
    - Src: "com.netflix.servo.monitor.StatsMonitor$MeanGaugeWrapper:206,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$MeanGaugeWrapper:206,1"
      Dst: "[com.netflix.servo.monitor.DoubleGauge].set(java.lang.Double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsBuffer].getMean()"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.StepLong].<init>(long,com.netflix.spectator.api.Clock,long)"
    functionSourceFile: "com.netflix.spectator.impl.StepLong"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "long"
    - "com.netflix.spectator.api.Clock"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    - "[com.netflix.spectator.api.Clock].wallTime()"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.impl.StepLong:43,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.spectator.impl.StepLong:48,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    - Src: "com.netflix.spectator.impl.StepLong:49,1"
      Dst: "[com.netflix.spectator.api.Clock].wallTime()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.StepLong].rollCount(long)"
    functionSourceFile: "com.netflix.spectator.impl.StepLong"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.util.concurrent.atomic.AtomicLong].compareAndSet(long,long)"
    - "[java.util.concurrent.atomic.AtomicLong].getAndSet(long)"
    functionUses: 0
    ICount: 22
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.spectator.impl.StepLong:55"
      Branch Sides:
      - BranchSide: "com.netflix.spectator.impl.StepLong:62"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.spectator.impl.StepLong:61"
        BranchSideFuncs: []
    - Branch String: "com.netflix.spectator.impl.StepLong:55"
      Branch Sides:
      - BranchSide: "com.netflix.spectator.impl.StepLong:62"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.spectator.impl.StepLong:61"
        BranchSideFuncs: []
    - Branch String: "com.netflix.spectator.impl.StepLong:60"
      Branch Sides:
      - BranchSide: "com.netflix.spectator.impl.StepLong:55"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.spectator.impl.StepLong:54,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.spectator.impl.StepLong:55,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].compareAndSet(long,long)"
    - Src: "com.netflix.spectator.impl.StepLong:60,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].getAndSet(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.spectator.impl.StepLong].getCurrent()"
    functionSourceFile: "com.netflix.spectator.impl.StepLong"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.util.concurrent.atomic.AtomicLong"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.Clock].wallTime()"
    - "[com.netflix.spectator.impl.StepLong].getCurrent(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.impl.StepLong:66,1"
      Dst: "[com.netflix.spectator.api.Clock].wallTime()"
    - Src: "com.netflix.spectator.impl.StepLong:66,1"
      Dst: "[com.netflix.spectator.impl.StepLong].getCurrent(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.StepLong].getCurrent(long)"
    functionSourceFile: "com.netflix.spectator.impl.StepLong"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.concurrent.atomic.AtomicLong"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.impl.StepLong].rollCount(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.impl.StepLong:71,1"
      Dst: "[com.netflix.spectator.impl.StepLong].rollCount(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.StepLong].poll()"
    functionSourceFile: "com.netflix.spectator.impl.StepLong"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.Clock].wallTime()"
    - "[com.netflix.spectator.impl.StepLong].poll(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.impl.StepLong:77,1"
      Dst: "[com.netflix.spectator.api.Clock].wallTime()"
    - Src: "com.netflix.spectator.impl.StepLong:77,1"
      Dst: "[com.netflix.spectator.impl.StepLong].poll(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.StepLong].poll(long)"
    functionSourceFile: "com.netflix.spectator.impl.StepLong"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.impl.StepLong].rollCount(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.impl.StepLong:82,1"
      Dst: "[com.netflix.spectator.impl.StepLong].rollCount(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.StepLong].pollAsRate()"
    functionSourceFile: "com.netflix.spectator.impl.StepLong"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.Clock].wallTime()"
    - "[com.netflix.spectator.impl.StepLong].pollAsRate(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.impl.StepLong:88,1"
      Dst: "[com.netflix.spectator.api.Clock].wallTime()"
    - Src: "com.netflix.spectator.impl.StepLong:88,1"
      Dst: "[com.netflix.spectator.impl.StepLong].pollAsRate(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.StepLong].pollAsRate(long)"
    functionSourceFile: "com.netflix.spectator.impl.StepLong"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "double"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.impl.StepLong].poll(long)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.impl.StepLong:93,1"
      Dst: "[com.netflix.spectator.impl.StepLong].poll(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.StepLong].timestamp()"
    functionSourceFile: "com.netflix.spectator.impl.StepLong"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.impl.StepLong:100,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.StepLong].toString()"
    functionSourceFile: "com.netflix.spectator.impl.StepLong"
    linkageType: ""
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(long)"
    functionUses: 39
    ICount: 20
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.impl.StepLong:104,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.spectator.impl.StepLong:104,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.spectator.impl.StepLong:104,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "com.netflix.spectator.impl.StepLong:106,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.spectator.impl.StepLong:107,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.spectator.impl.StepLong:107,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$lambda_toEntry_3__40].apply(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$lambda_toEntry_3__40"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache].lambda$toEntry$3(java.util.function.Function,java.lang.Object)"
    functionUses: 6
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$lambda_toEntry_3__40:-1,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].lambda$toEntry$3(java.util.function.Function,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig].getSampleSize()"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig].toString()"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig"
    linkageType: ""
    functionLinenumber: 254
    functionLinenumberEnd: 264
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(boolean)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(long)"
    - "[java.lang.StringBuilder].append(int)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.util.Arrays].toString(double[])"
    functionUses: 39
    ICount: 37
    EdgeCount: 24
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.stats.StatsConfig:255,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.stats.StatsConfig:255,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.stats.StatsConfig:255,1"
      Dst: "[java.lang.StringBuilder].append(boolean)"
    - Src: "com.netflix.servo.stats.StatsConfig:263,1"
      Dst: "[java.util.Arrays].toString(double[])"
    - Src: "com.netflix.servo.stats.StatsConfig:263,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.netflix.servo.stats.StatsConfig:263,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "com.netflix.servo.stats.StatsConfig:263,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.stats.StatsConfig:263,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig"
    linkageType: ""
    functionLinenumber: 273
    functionLinenumberEnd: 292
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].equals(double[],double[])"
    functionUses: 39
    ICount: 44
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.netflix.servo.stats.StatsConfig:274"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:277"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsConfig:276"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:277"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:281"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsConfig:280"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:282"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-1"
        BranchSideFuncs:
        - "equals(double[],double[])"
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:282"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-1"
        BranchSideFuncs:
        - "equals(double[],double[])"
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:282"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-1"
        BranchSideFuncs:
        - "equals(double[],double[])"
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:282"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-1"
        BranchSideFuncs:
        - "equals(double[],double[])"
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:282"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-1"
        BranchSideFuncs:
        - "equals(double[],double[])"
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:282"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-1"
        BranchSideFuncs:
        - "equals(double[],double[])"
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:282"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-1"
        BranchSideFuncs:
        - "equals(double[],double[])"
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:282"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-1"
        BranchSideFuncs:
        - "equals(double[],double[])"
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:282"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-1"
        BranchSideFuncs:
        - "equals(double[],double[])"
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:291"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.stats.StatsConfig:291,1"
      Dst: "[java.util.Arrays].equals(double[],double[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 11
  - functionName: "[com.netflix.servo.stats.StatsConfig].hashCode()"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig"
    linkageType: ""
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].hashCode(double[])"
    functionUses: 39
    ICount: 63
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.netflix.servo.stats.StatsConfig:300"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:300"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsConfig:299"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:301"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:301"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsConfig:300"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:302"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:301"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsConfig:300"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:303"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:302"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsConfig:301"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:304"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:303"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsConfig:302"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:305"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:304"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsConfig:303"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsConfig:306"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsConfig:305"
        BranchSideFuncs:
        - "hashCode(double[])"
      - BranchSide: "com.netflix.servo.stats.StatsConfig:304"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.stats.StatsConfig:307,1"
      Dst: "[java.util.Arrays].hashCode(double[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 22
    CyclomaticComplexity: 8
  - functionName: "[com.netflix.servo.stats.StatsConfig].access$000()"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsConfig].access$100()"
    functionSourceFile: "com.netflix.servo.stats.StatsConfig"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.TimeLimiter].<init>(java.util.concurrent.ExecutorService)"
    functionSourceFile: "com.netflix.servo.util.TimeLimiter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.concurrent.ExecutorService"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.TimeLimiter:37,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.util.TimeLimiter:38,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.TimeLimiter].callWithTimeout(java.util.concurrent.Callable<T>,long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.util.TimeLimiter"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 71
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.util.concurrent.Callable<T>"
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.util.concurrent.ForwardingExecutorService].submit(java.util.concurrent.Callable)"
    - "[com.google.common.util.concurrent.WrappingExecutorService].submit(java.util.concurrent.Callable)"
    - "[com.google.common.util.concurrent.AbstractListeningExecutorService].submit(java.util.concurrent.Callable)"
    - "[com.google.common.util.concurrent.ForwardingListeningExecutorService].submit(java.util.concurrent.Callable)"
    - "[java.util.concurrent.ScheduledThreadPoolExecutor].submit(java.util.concurrent.Callable)"
    - "[com.google.common.util.concurrent.ForwardingFuture].get(long,java.util.concurrent.TimeUnit)"
    - "[com.google.common.util.concurrent.Futures$ImmediateFuture].get(long,java.util.concurrent.TimeUnit)"
    - "[com.google.common.util.concurrent.AbstractService$Transition].get(long,java.util.concurrent.TimeUnit)"
    - "[com.google.common.util.concurrent.Futures$2].get(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.spectator.impl.Scheduler$DelayedTask].get(long,java.util.concurrent.TimeUnit)"
    - "[com.google.common.util.concurrent.AbstractFuture].get(long,java.util.concurrent.TimeUnit)"
    - "[java.util.concurrent.ForkJoinTask].get(long,java.util.concurrent.TimeUnit)"
    - "[com.google.common.util.concurrent.ForwardingFuture].cancel(boolean)"
    - "[com.google.common.util.concurrent.MoreExecutors$ScheduledListeningDecorator$ListenableScheduledTask].cancel(boolean)"
    - "[com.google.common.util.concurrent.Futures$ChainingListenableFuture].cancel(boolean)"
    - "[com.google.common.util.concurrent.Futures$2].cancel(boolean)"
    - "[com.google.common.util.concurrent.AbstractScheduledService$CustomScheduler$ReschedulableCallable].cancel(boolean)"
    - "[com.netflix.spectator.impl.Scheduler$DelayedTask].cancel(boolean)"
    - "[com.google.common.util.concurrent.Futures$FallbackFuture].cancel(boolean)"
    - "[com.google.common.util.concurrent.AbstractFuture].cancel(boolean)"
    - "[com.google.common.util.concurrent.Futures$ImmediateFuture:java.lang.Throwable:java.util.concurrent.CompletableFuture:java.util.concurrent.CompletableFuture$MinimalStage:java.util.concurrent.ForkJoinTask:java.util.concurrent.FutureTask:javax.swing.SwingWorker].getCause()"
    - "[com.netflix.servo.util.TimeLimiter$UncheckedTimeoutException].<init>(java.lang.Exception)"
    - "[java.util.concurrent.ExecutorService].submit(java.util.concurrent.Callable)"
    - "[java.util.concurrent.Future].get(long,java.util.concurrent.TimeUnit)"
    - "[java.util.concurrent.Future].cancel(boolean)"
    - "[java.lang.Throwable].getCause()"
    functionUses: 1
    ICount: 32
    EdgeCount: 30
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.TimeLimiter:58"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.TimeLimiter:61"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.TimeLimiter:60"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.TimeLimiter:61"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.TimeLimiter:64"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.TimeLimiter:63"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.util.TimeLimiter:64"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.TimeLimiter:67"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.TimeLimiter:66"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.util.TimeLimiter:50,1"
      Dst: "[java.util.concurrent.ExecutorService].submit(java.util.concurrent.Callable)"
    - Src: "com.netflix.servo.util.TimeLimiter:52,1"
      Dst: "[java.util.concurrent.Future].get(long,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.util.TimeLimiter:54,1"
      Dst: "[java.util.concurrent.Future].cancel(boolean)"
    - Src: "com.netflix.servo.util.TimeLimiter:57,1"
      Dst: "[java.lang.Throwable].getCause()"
    - Src: "com.netflix.servo.util.TimeLimiter:70,1"
      Dst: "[com.netflix.servo.util.TimeLimiter$UncheckedTimeoutException].<init>(java.lang.Exception)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper].update(com.netflix.servo.stats.StatsBuffer)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.stats.StatsBuffer].getPercentileValueForIdx(int)"
    - "[java.lang.Double].valueOf(double)"
    - "[com.netflix.servo.monitor.DoubleGauge].set(java.lang.Double)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:253,1"
      Dst: "[com.netflix.servo.stats.StatsBuffer].getPercentileValueForIdx(int)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:253,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:253,1"
      Dst: "[com.netflix.servo.monitor.DoubleGauge].set(java.lang.Double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsBuffer].getPercentileValueForIdx(int)"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper].toString()"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper"
    linkageType: ""
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(double)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 39
    ICount: 12
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:259,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:259,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:259,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:259,1"
      Dst: "[java.lang.StringBuilder].append(double)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:259,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper:259,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$11].<init>(java.lang.Iterable,int)"
    functionSourceFile: "com.google.common.collect.Iterables$11"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.FluentIterable].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$11:909,1"
      Dst: "[com.google.common.collect.FluentIterable].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$11].iterator()"
    functionSourceFile: "com.google.common.collect.Iterables$11"
    linkageType: ""
    functionLinenumber: 911
    functionLinenumberEnd: 913
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[com.google.common.collect.Iterators].limit(java.util.Iterator,int)"
    - "[java.lang.Iterable].iterator()"
    functionUses: 56
    ICount: 6
    EdgeCount: 179
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$11:912,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables$11:912,1"
      Dst: "[com.google.common.collect.Iterators].limit(java.util.Iterator,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredCache$stats__17].bootstrap$(com.google.common.cache.Cache)"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredCache$stats__17"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.concurrent.Callable"
    argCount: 1
    argTypes:
    - "com.google.common.cache.Cache"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitoredCache$stats__17].<init>(com.google.common.cache.Cache)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredCache$stats__17:-1,1"
      Dst: "[com.netflix.servo.monitor.MonitoredCache$stats__17].<init>(com.google.common.cache.Cache)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredCache$stats__17].<init>(com.google.common.cache.Cache)"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredCache$stats__17"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.google.common.cache.Cache"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredCache$stats__17:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitoredCache$stats__17].call()"
    functionSourceFile: "com.netflix.servo.monitor.MonitoredCache$stats__17"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.cache.LocalCache$LocalManualCache].stats()"
    - "[com.google.common.cache.AbstractCache].stats()"
    - "[com.google.common.cache.ForwardingCache].stats()"
    - "[com.google.common.cache.Cache].stats()"
    functionUses: 4
    ICount: 4
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitoredCache$stats__17:-1,1"
      Dst: "[com.google.common.cache.Cache].stats()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.ContextualCounter].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.tag.TaggingContext,com.google.common.base.Function)"
    functionSourceFile: "com.netflix.servo.monitor.ContextualCounter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.tag.TaggingContext"
    - "com.google.common.base.Function"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.tag.TaggingContext,com.google.common.base.Function)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.ContextualCounter:39,1"
      Dst: "[com.netflix.servo.monitor.AbstractContextualMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.tag.TaggingContext,com.google.common.base.Function)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.ContextualCounter].increment()"
    functionSourceFile: "com.netflix.servo.monitor.ContextualCounter"
    linkageType: ""
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitorForCurrentContext()"
    - "[com.netflix.servo.monitor.BasicCounter].increment()"
    - "[com.netflix.servo.monitor.ContextualCounter].increment()"
    - "[com.netflix.servo.monitor.StepCounter].increment()"
    - "[com.netflix.servo.monitor.PeakRateCounter].increment()"
    - "[com.netflix.servo.monitor.Counter].increment()"
    functionUses: 4
    ICount: 5
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.ContextualCounter:47,1"
      Dst: "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitorForCurrentContext()"
    - Src: "com.netflix.servo.monitor.ContextualCounter:47,1"
      Dst: "[com.netflix.servo.monitor.Counter].increment()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.ContextualCounter].increment(long)"
    functionSourceFile: "com.netflix.servo.monitor.ContextualCounter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitorForCurrentContext()"
    - "[com.netflix.servo.monitor.Counter].increment(long)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.ContextualCounter:55,1"
      Dst: "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitorForCurrentContext()"
    - Src: "com.netflix.servo.monitor.ContextualCounter:55,1"
      Dst: "[com.netflix.servo.monitor.Counter].increment(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.ContextualCounter].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.ContextualCounter"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionDepth: 0
    returnType: "java.lang.Number"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitorForCurrentContext()"
    - "[com.netflix.servo.monitor.PeakRateCounter].getValue(int)"
    - "[com.netflix.servo.monitor.StepCounter].getValue(int)"
    - "[com.netflix.servo.monitor.BasicCounter].getValue(int)"
    - "[com.netflix.servo.monitor.ContextualCounter].getValue(int)"
    - "[com.netflix.servo.monitor.Monitor].getValue(int)"
    functionUses: 7
    ICount: 7
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.ContextualCounter:63,1"
      Dst: "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitorForCurrentContext()"
    - Src: "com.netflix.servo.monitor.ContextualCounter:63,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer$1].<init>(com.netflix.servo.monitor.DurationTimer)"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.DurationTimer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer$1:78,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DurationTimer$1].call()"
    functionSourceFile: "com.netflix.servo.monitor.DurationTimer$1"
    linkageType: ""
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionDepth: 1
    returnType: "java.lang.Long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DurationTimer:java.util.AbstractMap:java.util.concurrent.ConcurrentHashMap].access$000(com.netflix.servo.monitor.DurationTimer)"
    - "[com.google.common.cache.LocalCache].size()"
    - "[com.google.common.collect.ForwardingMap].size()"
    - "[com.google.common.collect.MapMakerInternalMap].size()"
    - "[java.lang.Long].valueOf(long)"
    - "[com.netflix.servo.monitor.DurationTimer].access$000(com.netflix.servo.monitor.DurationTimer)"
    - "[java.util.Map].size()"
    functionUses: 4
    ICount: 7
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DurationTimer$1:81,1"
      Dst: "[com.netflix.servo.monitor.DurationTimer].access$000(com.netflix.servo.monitor.DurationTimer)"
    - Src: "com.netflix.servo.monitor.DurationTimer$1:81,1"
      Dst: "[java.util.Map].size()"
    - Src: "com.netflix.servo.monitor.DurationTimer$1:81,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$1].<init>(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.FluentIterable].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$1:388,1"
      Dst: "[com.google.common.collect.FluentIterable].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$1].iterator()"
    functionSourceFile: "com.google.common.collect.Iterables$1"
    linkageType: ""
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterators].cycle(java.lang.Iterable)"
    functionUses: 56
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$1:391,1"
      Dst: "[com.google.common.collect.Iterators].cycle(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$1].toString()"
    functionSourceFile: "com.google.common.collect.Iterables$1"
    linkageType: ""
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.netflix.spectator.api.NoopId].toString()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].toString()"
    - "[com.google.common.collect.SingletonImmutableSet].toString()"
    - "[com.google.common.collect.Sets$PowerSet].toString()"
    - "[java.lang.StringBuilder].toString()"
    - "[com.netflix.spectator.api.ExtendedRegistry].toString()"
    - "[com.google.common.collect.TreeMultiset].toString()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].toString()"
    - "[java.util.concurrent.ConcurrentHashMap$CollectionView].toString()"
    - "[com.google.common.collect.ImmutableEnumSet].toString()"
    - "[com.google.common.collect.ContiguousSet].toString()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].toString()"
    - "[com.google.common.collect.HashMultiset].toString()"
    - "[com.google.common.collect.FluentIterable].toString()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].toString()"
    - "[com.google.common.collect.ForwardingObject].toString()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].toString()"
    - "[java.util.concurrent.LinkedBlockingQueue].toString()"
    - "[com.netflix.servo.tag.SmallTagMap].toString()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].toString()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].toString()"
    - "[com.netflix.spectator.api.DefaultId].toString()"
    - "[java.util.concurrent.CopyOnWriteArrayList].toString()"
    - "[sun.nio.fs.UnixPath].toString()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].toString()"
    - "[java.util.concurrent.SynchronousQueue].toString()"
    - "[com.netflix.spectator.api.ArrayTagSet].toString()"
    - "[com.google.common.collect.DescendingMultiset].toString()"
    - "[com.google.common.base.Splitter$5].toString()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].toString()"
    - "[java.util.concurrent.LinkedBlockingDeque].toString()"
    - "[com.netflix.servo.tag.BasicTagList].toString()"
    - "[com.google.common.collect.Collections2$PermutationCollection].toString()"
    - "[java.lang.Object].toString()"
    - "[com.google.common.collect.SingletonImmutableList].toString()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].toString()"
    - "[com.google.common.collect.ConcurrentHashMultiset].toString()"
    - "[com.google.common.collect.AbstractMultiset].toString()"
    - "[com.google.common.collect.EmptyImmutableSet].toString()"
    - "[java.util.concurrent.PriorityBlockingQueue].toString()"
    - "[java.util.Vector].toString()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].toString()"
    - "[com.google.common.collect.ImmutableMultiset].toString()"
    - "[com.google.common.collect.EnumMultiset].toString()"
    - "[com.netflix.servo.tag.SortedTagList].toString()"
    - "[com.google.common.collect.Sets$DescendingSet].toString()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].toString()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].toString()"
    - "[java.util.AbstractCollection].toString()"
    - "[java.util.ServiceLoader].toString()"
    - "[com.google.common.collect.LinkedHashMultiset].toString()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].toString()"
    - "[java.util.concurrent.ArrayBlockingQueue].toString()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].toString()"
    - "[com.google.common.collect.Synchronized$SynchronizedObject].toString()"
    - "[com.google.common.collect.Iterables$1].toString()"
    - "[com.google.common.collect.EmptyContiguousSet].toString()"
    functionUses: 41
    ICount: 9
    EdgeCount: 60
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$1:394,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.google.common.collect.Iterables$1:394,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "com.google.common.collect.Iterables$1:394,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.google.common.collect.Iterables$1:394,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.Throwables].<init>()"
    functionSourceFile: "com.netflix.servo.util.Throwables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.Throwables:23,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_1__56].accept(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_1__56"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.JmxMetricPoller].lambda$getMetrics$1(com.netflix.servo.publish.MetricFilter,java.util.List,com.netflix.servo.tag.TagList,java.lang.String,java.lang.Object)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JmxMetricPoller$lambda_getMetrics_1__56:-1,1"
      Dst: "[com.netflix.servo.publish.JmxMetricPoller].lambda$getMetrics$1(com.netflix.servo.publish.MetricFilter,java.util.List,com.netflix.servo.tag.TagList,java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StepLong].toString()"
    functionSourceFile: "com.netflix.servo.monitor.StepLong"
    linkageType: ""
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.util.Arrays].toString(java.lang.Object[])"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder:java.util.Arrays].toString()"
    - "[java.lang.StringBuilder].append(long)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 39
    ICount: 17
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StepLong:87,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.StepLong:87,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.StepLong:87,1"
      Dst: "[java.lang.StringBuilder].append(long)"
    - Src: "com.netflix.servo.monitor.StepLong:88,1"
      Dst: "[java.util.Arrays].toString(java.lang.Object[])"
    - Src: "com.netflix.servo.monitor.StepLong:89,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.StepLong:89,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.TimedInterface].<init>()"
    functionSourceFile: "com.netflix.servo.monitor.TimedInterface"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.TimedInterface:127,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.TimedInterface].newProxy(java.lang.Class,java.lang.Object,java.lang.String)"
    functionSourceFile: "com.netflix.servo.monitor.TimedInterface"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 12
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "java.lang.Object"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].<init>(java.lang.Class,java.lang.Object,java.lang.String)"
    - "[java.lang.Class].getClassLoader()"
    - "[java.lang.reflect.Proxy].newProxyInstance(java.lang.ClassLoader,java.lang.Class[],java.lang.reflect.InvocationHandler)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.TimedInterface:137,1"
      Dst: "[com.netflix.servo.monitor.TimedInterface$TimedHandler].<init>(java.lang.Class,java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.monitor.TimedInterface:139,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "com.netflix.servo.monitor.TimedInterface:139,1"
      Dst: "[java.lang.reflect.Proxy].newProxyInstance(java.lang.ClassLoader,java.lang.Class[],java.lang.reflect.InvocationHandler)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.TimedInterface$TimedHandler].<init>(java.lang.Class,java.lang.Object,java.lang.String)"
    functionSourceFile: "com.netflix.servo.monitor.TimedInterface$TimedHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 11
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.Class"
    - "java.lang.Object"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.lang.Class].getSimpleName()"
    - "[java.lang.Object].getClass()"
    - "[com.netflix.servo.tag.BasicTagList].of(java.lang.String[])"
    - "[com.netflix.servo.tag.BasicTagList].copy(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[java.util.HashMap].<init>()"
    - "[java.lang.Class].getMethods()"
    - "[java.lang.reflect.Method].getName()"
    - "[com.netflix.servo.monitor.BasicTimer].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 45
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.TimedInterface$TimedHandler:92"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.TimedInterface$TimedHandler:95"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.TimedInterface$TimedHandler:94"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.TimedInterface$TimedHandler:99"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.TimedInterface$TimedHandler:105"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:87,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:90,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:91,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:89,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].of(java.lang.String[])"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:93,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].copy(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:96,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:96,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:96,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:98,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:99,1"
      Dst: "[java.lang.Class].getMethods()"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:101,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:104,1"
      Dst: "[com.netflix.servo.monitor.BasicTimer].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:104,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.monitor.BasicTimer].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 10
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BasicTimer].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicTimer:57,1"
      Dst: "[com.netflix.servo.monitor.BasicTimer].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.TimedInterface].newProxy(java.lang.Class,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.TimedInterface"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 13
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.TimedInterface].newProxy(java.lang.Class,java.lang.Object,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.TimedInterface:148,1"
      Dst: "[com.netflix.servo.monitor.TimedInterface].newProxy(java.lang.Class,java.lang.Object,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.BasicMetricFilter].<init>(boolean)"
    functionSourceFile: "com.netflix.servo.publish.BasicMetricFilter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.BasicMetricFilter:43,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.BasicMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.publish.BasicMetricFilter"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 10
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.Strings].<init>()"
    functionSourceFile: "com.netflix.servo.util.Strings"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.Strings:24,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.Strings].join(java.lang.String,java.util.Iterator<?>)"
    functionSourceFile: "com.netflix.servo.util.Strings"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.util.Iterator<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[java.lang.StringBuilder].<init>()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[com.google.common.collect.ImmutableMultimap].toString()"
    - "[bsh.BSHMethodDeclaration].toString()"
    - "[com.netflix.servo.monitor.MonitorWrapper].toString()"
    - "[com.google.common.hash.Funnels$SequentialFunnel].toString()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].toString()"
    - "[com.google.common.collect.ReverseOrdering].toString()"
    - "[com.netflix.spectator.impl.matcher.ZeroOrMoreMatcher].toString()"
    - "[com.netflix.servo.stats.StatsConfig].toString()"
    - "[com.google.common.base.Enums$ValueOfFunction].toString()"
    - "[com.google.common.base.Converter$ConverterComposition].toString()"
    - "[com.netflix.servo.tag.BasicTag].toString()"
    - "[com.google.common.io.ByteSink$AsCharSink].toString()"
    - "[org.testng.remote.strprotocol.TestResultMessage].toString()"
    - "[com.netflix.spectator.impl.matcher.NegativeLookaheadMatcher].toString()"
    - "[com.google.common.collect.MapMaker].toString()"
    - "[com.google.common.io.CharSource$ConcatenatedCharSource].toString()"
    - "[com.google.common.base.Functions$FunctionComposition].toString()"
    - "[com.google.common.base.Predicates$CompositionPredicate].toString()"
    - "[jdk.internal.math.FDBigInteger].toString()"
    - "[com.netflix.spectator.impl.StepDouble].toString()"
    - "[java.lang.Short].toString()"
    - "[com.google.common.collect.ArrayListMultimap].toString()"
    - "[com.google.common.util.concurrent.AbstractIdleService].toString()"
    - "[com.google.common.collect.ByFunctionOrdering].toString()"
    - "[com.google.common.collect.HashMultimap].toString()"
    - "[com.google.common.collect.ComparatorOrdering].toString()"
    - "[com.google.common.base.Functions$SupplierFunction].toString()"
    - "[bsh.SimpleNode].toString()"
    - "[org.testng.TestListenerAdapter].toString()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].toString()"
    - "[org.testng.xml.XmlSuite].toString()"
    - "[com.google.common.base.Objects$ToStringHelper].toString()"
    - "[org.yaml.snakeyaml.nodes.SequenceNode].toString()"
    - "[com.google.common.base.Predicates$IsEqualToPredicate].toString()"
    - "[com.google.common.base.Suppliers$ExpiringMemoizingSupplier].toString()"
    - "[com.google.common.base.Predicates$AssignableFromPredicate].toString()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].toString()"
    - "[bsh.BSHVariableDeclarator].toString()"
    - "[com.netflix.servo.monitor.StepCounter].toString()"
    - "[com.google.common.eventbus.EventSubscriber].toString()"
    - "[junit.framework.TestFailure].toString()"
    - "[com.google.common.collect.TreeMultimap].toString()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].toString()"
    - "[com.netflix.servo.monitor.NumberGauge].toString()"
    - "[java.io.File].toString()"
    - "[junit.framework.TestCase].toString()"
    - "[org.yaml.snakeyaml.error.Mark].toString()"
    - "[com.google.common.collect.LexicographicalOrdering].toString()"
    - "[com.netflix.servo.monitor.MinGauge].toString()"
    - "[com.google.common.base.Suppliers$ThreadSafeSupplier].toString()"
    - "[com.netflix.spectator.impl.matcher.RepeatMatcher].toString()"
    - "[com.google.common.hash.HashCode].toString()"
    - "[bsh.NameSpace].toString()"
    - "[com.google.common.reflect.Element].toString()"
    - "[bsh.LHS].toString()"
    - "[org.testng.internal.ClassImpl].toString()"
    - "[com.google.common.collect.LinkedListMultimap].toString()"
    - "[com.google.common.hash.Murmur3_32HashFunction].toString()"
    - "[com.google.common.util.concurrent.AbstractScheduledService].toString()"
    - "[com.netflix.spectator.impl.matcher.OrMatcher].toString()"
    - "[com.google.common.base.Predicates$NotPredicate].toString()"
    - "[com.google.common.reflect.TypeToken$2].toString()"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$MostFrequentLimiter].toString()"
    - "[bsh.CallStack].toString()"
    - "[com.google.common.util.concurrent.RateLimiter].toString()"
    - "[com.google.common.base.CaseFormat$StringConverter].toString()"
    - "[bsh.XThis].toString()"
    - "[com.google.common.base.Suppliers$MemoizingSupplier].toString()"
    - "[com.netflix.spectator.impl.matcher.ZeroOrOneMatcher].toString()"
    - "[com.google.common.io.BaseEncoding$SeparatedBaseEncoding].toString()"
    - "[com.google.common.io.ByteStreams$4].toString()"
    - "[bsh.Primitive].toString()"
    - "[org.yaml.snakeyaml.nodes.MappingNode].toString()"
    - "[com.google.common.io.CharStreams$4].toString()"
    - "[com.google.common.base.Suppliers$SupplierOfInstance].toString()"
    - "[com.netflix.servo.monitor.DynamicGauge].toString()"
    - "[bsh.This].toString()"
    - "[com.google.common.collect.Multisets$AbstractEntry].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor].toString()"
    - "[com.google.common.hash.Funnels$StringCharsetFunnel].toString()"
    - "[com.google.common.base.Predicates$AndPredicate].toString()"
    - "[jdk.internal.org.objectweb.asm.Type].toString()"
    - "[org.yaml.snakeyaml.nodes.ScalarNode].toString()"
    - "[org.testng.internal.BaseTestMethod].toString()"
    - "[bsh.EvalError].toString()"
    - "[jdk.internal.misc.Signal$NativeHandler].toString()"
    - "[com.netflix.servo.monitor.StepLong].toString()"
    - "[com.google.common.collect.HashBasedTable].toString()"
    - "[org.yaml.snakeyaml.scanner.SimpleKey].toString()"
    - "[java.lang.Character].toString()"
    - "[com.netflix.spectator.impl.matcher.CharSeqMatcher].toString()"
    - "[com.google.common.primitives.UnsignedInteger].toString()"
    - "[java.lang.Long].toString()"
    - "[com.google.common.collect.LinkedHashMultiset].toString()"
    - "[com.google.common.net.HostAndPort].toString()"
    - "[com.google.common.collect.ImmutableTable].toString()"
    - "[com.google.common.cache.CacheBuilder].toString()"
    - "[com.google.common.collect.AbstractMapEntry].toString()"
    - "[org.testng.internal.ClonedMethod].toString()"
    - "[com.google.common.collect.TreeMultiset].toString()"
    - "[jdk.internal.org.objectweb.asm.Label].toString()"
    - "[com.google.common.collect.ImmutableRangeMap].toString()"
    - "[com.google.common.io.Resources$UrlByteSource].toString()"
    - "[com.google.common.collect.ForwardingObject].toString()"
    - "[bsh.BSHClassDeclaration].toString()"
    - "[com.netflix.spectator.api.DefaultId].toString()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].toString()"
    - "[com.google.common.collect.Tables$AbstractCell].toString()"
    - "[com.netflix.spectator.impl.matcher.IndexOfMatcher].toString()"
    - "[com.google.common.collect.Cut$BelowValue].toString()"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].toString()"
    - "[org.testng.internal.MapList].toString()"
    - "[com.google.common.io.CharStreams$3].toString()"
    - "[com.google.common.base.Present].toString()"
    - "[com.google.common.cache.LongAdder].toString()"
    - "[java.lang.Class].toString()"
    - "[com.google.common.base.Predicates$InPredicate].toString()"
    - "[com.netflix.spectator.api.Measurement].toString()"
    - "[com.google.common.cache.CacheStats].toString()"
    - "[com.netflix.servo.monitor.DynamicTimer].toString()"
    - "[com.google.common.collect.NullsFirstOrdering].toString()"
    - "[com.netflix.servo.monitor.MaxGauge].toString()"
    - "[com.google.common.collect.Sets$DescendingSet].toString()"
    - "[com.google.common.io.ByteSource$ByteArrayByteSource].toString()"
    - "[com.netflix.spectator.api.BasicTag].toString()"
    - "[org.slf4j.helpers.MarkerIgnoringBase].toString()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].toString()"
    - "[com.google.common.collect.Maps$ValueDifferenceImpl].toString()"
    - "[com.netflix.spectator.api.NoopId].toString()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].toString()"
    - "[com.google.common.collect.Maps$MapDifferenceImpl].toString()"
    - "[junit.framework.TestSuite].toString()"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].toString()"
    - "[com.google.common.collect.TreeMultiset$AvlNode].toString()"
    - "[bsh.classpath.DiscreteFilesClassLoader].toString()"
    - "[com.google.common.reflect.Types$ParameterizedTypeImpl].toString()"
    - "[com.google.common.collect.FluentIterable].toString()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].toString()"
    - "[org.testng.internal.DynamicGraph].toString()"
    - "[com.google.common.collect.Maps$BiMapConverter].toString()"
    - "[jdk.internal.module.ModuleResolution].toString()"
    - "[com.google.common.reflect.Parameter].toString()"
    - "[bsh.ParseException].toString()"
    - "[com.google.common.collect.Maps$DescendingMap].toString()"
    - "[com.google.common.base.FunctionalEquivalence].toString()"
    - "[com.google.common.hash.Funnels$SinkAsStream].toString()"
    - "[com.google.common.base.Stopwatch].toString()"
    - "[com.google.common.base.StandardSystemProperty].toString()"
    - "[org.yaml.snakeyaml.events.ImplicitTuple].toString()"
    - "[org.testng.internal.TestResult].toString()"
    - "[com.google.common.util.concurrent.AtomicDouble].toString()"
    - "[com.google.common.collect.TreeRangeMap].toString()"
    - "[com.google.common.collect.ImmutableMultiset].toString()"
    - "[bsh.servlet.SimpleTemplate].toString()"
    - "[com.google.common.base.Functions$ConstantFunction].toString()"
    - "[bsh.classpath.BshClassPath$JarClassSource].toString()"
    - "[bsh.ClassIdentifier].toString()"
    - "[com.google.common.base.Functions$PredicateFunction].toString()"
    - "[org.testng.internal.junit.ArrayComparisonFailure].toString()"
    - "[com.google.common.collect.SingletonImmutableSet].toString()"
    - "[com.google.common.reflect.Types$WildcardTypeImpl].toString()"
    - "[com.google.common.collect.Cut$AboveValue].toString()"
    - "[com.google.common.base.Predicates$OrPredicate].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor$DoubleGaugeWrapper].toString()"
    - "[com.netflix.servo.monitor.BucketConfig].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$LineBreak].toString()"
    - "[com.google.common.collect.ContiguousSet].toString()"
    - "[java.lang.Double].toString()"
    - "[com.google.common.base.Equivalence$EquivalentToPredicate].toString()"
    - "[com.google.common.reflect.TypeToken$1].toString()"
    - "[com.google.common.io.BaseEncoding$StandardBaseEncoding].toString()"
    - "[com.google.common.io.ByteSource$AsCharSource].toString()"
    - "[com.google.common.collect.ArrayTable].toString()"
    - "[com.google.common.base.Predicates$ContainsPatternPredicate].toString()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].toString()"
    - "[com.google.common.collect.DescendingMultiset].toString()"
    - "[org.testng.SuiteResult].toString()"
    - "[com.google.common.hash.SipHashFunction].toString()"
    - "[com.google.common.base.Splitter$5].toString()"
    - "[com.netflix.spectator.impl.StepLong].toString()"
    - "[jdk.internal.jimage.ImageReader$Node].toString()"
    - "[com.google.common.hash.Murmur3_128HashFunction].toString()"
    - "[com.netflix.servo.monitor.PeakRateCounter].toString()"
    - "[com.google.common.collect.AbstractMultimap].toString()"
    - "[com.google.common.base.Functions$FunctionForMapNoDefault].toString()"
    - "[junit.extensions.RepeatedTest].toString()"
    - "[com.google.common.collect.SingletonImmutableList].toString()"
    - "[org.testng.internal.TestMethodWorker].toString()"
    - "[com.google.common.collect.AbstractMultiset].toString()"
    - "[org.yaml.snakeyaml.nodes.NodeTuple].toString()"
    - "[org.slf4j.helpers.BasicMarker].toString()"
    - "[bsh.classpath.BshClassPath].toString()"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].toString()"
    - "[com.google.common.reflect.AbstractInvocationHandler].toString()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].toString()"
    - "[com.netflix.servo.monitor.DoubleCounter].toString()"
    - "[com.netflix.spectator.impl.matcher.CharClassMatcher].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor$LongGaugeWrapper].toString()"
    - "[java.lang.StringBuffer].toString()"
    - "[com.google.common.collect.AbstractTable].toString()"
    - "[com.google.common.io.ByteSource$ConcatenatedByteSource].toString()"
    - "[org.testng.internal.Graph].toString()"
    - "[com.netflix.spectator.api.ExtendedRegistry].toString()"
    - "[org.yaml.snakeyaml.introspector.Property].toString()"
    - "[com.google.common.base.Converter$ReverseConverter].toString()"
    - "[com.google.common.collect.LinkedHashMultimap].toString()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap].toString()"
    - "[jdk.internal.org.objectweb.asm.TypePath].toString()"
    - "[com.google.common.net.MediaType].toString()"
    - "[com.netflix.servo.monitor.StatsTimer].toString()"
    - "[org.testng.remote.strprotocol.SuiteMessage].toString()"
    - "[com.netflix.servo.monitor.AnnotatedStringMonitor].toString()"
    - "[org.testng.internal.Graph$Node].toString()"
    - "[jdk.internal.misc.Signal].toString()"
    - "[com.netflix.spectator.impl.matcher.SeqMatcher].toString()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].toString()"
    - "[com.netflix.servo.util.ExpiringCache].toString()"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$RollupLimiter].toString()"
    - "[com.netflix.servo.monitor.DurationTimer].toString()"
    - "[com.google.common.io.GwtWorkarounds$6].toString()"
    - "[org.testng.internal.ResultMap].toString()"
    - "[com.google.common.io.Files$FileByteSource].toString()"
    - "[com.google.common.primitives.UnsignedLong].toString()"
    - "[java.lang.Throwable].toString()"
    - "[com.netflix.servo.monitor.BasicGauge].toString()"
    - "[com.google.common.collect.AbstractRangeSet].toString()"
    - "[jdk.internal.org.objectweb.asm.Handle].toString()"
    - "[com.google.common.base.PairwiseEquivalence].toString()"
    - "[org.testng.TestClass].toString()"
    - "[com.google.common.collect.ImmutableMap].toString()"
    - "[com.google.common.reflect.TypeToken].toString()"
    - "[bsh.classpath.BshClassPath$DirClassSource].toString()"
    - "[com.google.common.collect.GeneralRange].toString()"
    - "[com.google.common.collect.Collections2$PermutationCollection].toString()"
    - "[com.google.common.reflect.TypeParameter].toString()"
    - "[java.lang.Object].toString()"
    - "[java.lang.Float].toString()"
    - "[com.google.common.cache.CacheBuilderSpec].toString()"
    - "[com.google.common.util.concurrent.AbstractService].toString()"
    - "[org.yaml.snakeyaml.tokens.Token].toString()"
    - "[com.beust.jcommander.ParameterDescription].toString()"
    - "[java.lang.Integer].toString()"
    - "[org.testng.internal.MethodInstance].toString()"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].toString()"
    - "[com.netflix.spectator.api.patterns.CardinalityLimiters$FirstLimiter].toString()"
    - "[org.yaml.snakeyaml.error.MarkedYAMLException].toString()"
    - "[jdk.internal.perf.PerfCounter].toString()"
    - "[com.google.common.io.ByteStreams$3].toString()"
    - "[com.netflix.servo.monitor.BucketTimer].toString()"
    - "[com.google.common.collect.Synchronized$SynchronizedObject].toString()"
    - "[com.google.common.io.ByteSource$SlicedByteSource].toString()"
    - "[com.netflix.spectator.impl.matcher.StartsWithMatcher].toString()"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].toString()"
    - "[org.testng.internal.InvokedMethod].toString()"
    - "[com.netflix.servo.monitor.DoubleGauge].toString()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].toString()"
    - "[com.netflix.servo.tag.SmallTagMap].toString()"
    - "[com.netflix.spectator.impl.matcher.IgnoreCaseMatcher].toString()"
    - "[com.google.common.collect.Range].toString()"
    - "[com.google.common.base.Suppliers$SupplierComposition].toString()"
    - "[com.google.common.reflect.Invokable].toString()"
    - "[com.google.common.collect.CompoundOrdering].toString()"
    - "[com.google.common.io.Files$FileByteSink].toString()"
    - "[com.netflix.spectator.impl.matcher.PositiveLookaheadMatcher].toString()"
    - "[bsh.BshMethod].toString()"
    - "[com.netflix.servo.tag.BasicTagList].toString()"
    - "[org.testng.ReporterConfig].toString()"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry].toString()"
    - "[com.google.common.collect.ConcurrentHashMultiset].toString()"
    - "[com.google.common.collect.TreeBasedTable].toString()"
    - "[com.netflix.servo.monitor.BasicInformational].toString()"
    - "[com.google.common.base.Enums$StringConverter].toString()"
    - "[com.google.common.util.concurrent.AtomicDoubleArray].toString()"
    - "[com.google.common.util.concurrent.AbstractExecutionThreadService].toString()"
    - "[com.google.common.reflect.Types$GenericArrayTypeImpl].toString()"
    - "[org.testng.xml.XmlClass].toString()"
    - "[com.netflix.servo.Metric].toString()"
    - "[com.netflix.servo.tag.SortedTagList].toString()"
    - "[com.google.common.base.Functions$ForMapWithDefault].toString()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].toString()"
    - "[java.lang.Thread].toString()"
    - "[jdk.internal.module.ModuleHashes].toString()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource].toString()"
    - "[org.yaml.snakeyaml.events.Event].toString()"
    - "[bsh.BSHAmbiguousName].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$Version].toString()"
    - "[com.google.common.collect.Iterables$1].toString()"
    - "[com.google.common.collect.Sets$PowerSet].toString()"
    - "[org.testng.xml.XmlTest].toString()"
    - "[org.yaml.snakeyaml.resolver.ResolverTuple].toString()"
    - "[com.netflix.servo.monitor.LongGauge].toString()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].toString()"
    - "[com.google.common.collect.HashMultiset].toString()"
    - "[org.testng.remote.strprotocol.TestMessage].toString()"
    - "[com.google.common.cache.RemovalNotification].toString()"
    - "[org.yaml.snakeyaml.TypeDescription].toString()"
    - "[com.netflix.servo.monitor.StatsMonitor$PercentileGaugeWrapper].toString()"
    - "[com.netflix.servo.monitor.BasicTimer].toString()"
    - "[com.netflix.spectator.api.ArrayTagSet].toString()"
    - "[org.testng.remote.strprotocol.GenericMessage].toString()"
    - "[com.netflix.servo.monitor.MonitorConfig].toString()"
    - "[com.google.common.base.Predicates$InstanceOfPredicate].toString()"
    - "[org.testng.SuiteRunnerWorker].toString()"
    - "[jdk.internal.jmod.JmodFile$Entry].toString()"
    - "[com.google.common.base.Equivalence$Wrapper].toString()"
    - "[com.netflix.spectator.api.histogram.BucketFunctions$Bucket].toString()"
    - "[java.lang.Byte].toString()"
    - "[com.netflix.servo.monitor.DynamicCounter].toString()"
    - "[junit.extensions.TestDecorator].toString()"
    - "[com.netflix.servo.util.ExpiringCache$Entry].toString()"
    - "[bsh.TargetError].toString()"
    - "[org.yaml.snakeyaml.reader.ReaderException].toString()"
    - "[com.google.common.collect.Count].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$FlowStyle].toString()"
    - "[org.yaml.snakeyaml.DumperOptions$ScalarStyle].toString()"
    - "[com.google.common.collect.EnumMultiset].toString()"
    - "[jdk.internal.module.ModuleReferenceImpl].toString()"
    - "[bsh.Variable].toString()"
    - "[com.google.common.util.concurrent.AtomicLongMap].toString()"
    - "[com.google.common.util.concurrent.ServiceManager].toString()"
    - "[bsh.Modifiers].toString()"
    - "[com.google.common.collect.NullsLastOrdering].toString()"
    - "[com.google.common.collect.ExplicitOrdering].toString()"
    - "[com.netflix.servo.monitor.BasicCounter].toString()"
    - "[java.lang.ProcessBuilder$Redirect$3].toString()"
    - "[bsh.Name:bsh.Token:bsh.util.AWTConsole:bsh.util.JConsole:com.google.common.base.Absent:com.google.common.base.CharMatcher:com.google.common.base.CharMatcher$1:com.google.common.base.Converter$IdentityConverter:com.google.common.base.Functions$IdentityFunction:com.google.common.base.Functions$ToStringFunction:com.google.common.base.Suppliers$SupplierFunctionImpl:com.google.common.collect.AllEqualOrdering:com.google.common.collect.Cut$AboveAll:com.google.common.collect.Cut$BelowAll:com.google.common.collect.DiscreteDomain$BigIntegerDomain:com.google.common.collect.DiscreteDomain$IntegerDomain:com.google.common.collect.DiscreteDomain$LongDomain:com.google.common.collect.EmptyContiguousSet:com.google.common.collect.EmptyImmutableSet:com.google.common.collect.EmptyImmutableSortedMap:com.google.common.collect.EmptyImmutableSortedSet:com.google.common.collect.ImmutableEnumSet:com.google.common.collect.MapConstraints$NotNullMapConstraint:com.google.common.collect.NaturalOrdering:com.google.common.collect.Ordering$ArbitraryOrdering:com.google.common.collect.ReverseNaturalOrdering:com.google.common.collect.UsingToStringOrdering:com.google.common.hash.ChecksumHashFunction:com.google.common.hash.Funnels$ByteArrayFunnel:com.google.common.hash.Funnels$IntegerFunnel:com.google.common.hash.Funnels$LongFunnel:com.google.common.hash.Funnels$UnencodedCharsFunnel:com.google.common.hash.MessageDigestHashFunction:com.google.common.io.BaseEncoding$Alphabet:com.google.common.io.ByteSource$EmptyByteSource:com.google.common.io.ByteStreams$1:com.google.common.io.CharSource$EmptyCharSource:com.google.common.io.CharStreams$NullWriter:com.google.common.io.Files$2:com.google.common.io.Files$FilePredicate$1:com.google.common.io.Files$FilePredicate$2:com.google.common.net.HostSpecifier:com.google.common.net.InternetDomainName:com.google.common.primitives.Doubles$DoubleConverter:com.google.common.primitives.Floats$FloatConverter:com.google.common.primitives.Ints$IntConverter:com.google.common.primitives.Longs$LongConverter:com.google.common.primitives.Shorts$ShortConverter:com.google.common.reflect.ClassPath$ClassInfo:com.google.common.reflect.ClassPath$ResourceInfo:com.google.common.reflect.Types$TypeVariableImpl:com.netflix.servo.monitor.DefaultPublishingPolicy:com.netflix.spectator.impl.AsciiSet:com.netflix.spectator.impl.matcher.AnyMatcher:com.netflix.spectator.impl.matcher.EndMatcher:com.netflix.spectator.impl.matcher.FalseMatcher:com.netflix.spectator.impl.matcher.StartMatcher:com.netflix.spectator.impl.matcher.TrueMatcher:java.awt.AWTEvent:java.awt.AWTKeyStroke:java.awt.AttributeValue:java.awt.BorderLayout:java.awt.BufferCapabilities$FlipContents:java.awt.CheckboxGroup:java.awt.Color:java.awt.Component:java.awt.Cursor:java.awt.Dimension:java.awt.DisplayMode:java.awt.Event:java.awt.Font:java.awt.FontMetrics:java.awt.Graphics:java.awt.GridBagLayout:java.awt.GridLayout:java.awt.Insets:java.awt.JobAttributes:java.awt.JobAttributes$DefaultSelectionType:java.awt.JobAttributes$DestinationType:java.awt.JobAttributes$DialogType:java.awt.JobAttributes$MultipleDocumentHandlingType:java.awt.JobAttributes$SidesType:java.awt.MenuComponent:java.awt.MenuShortcut:java.awt.PageAttributes:java.awt.PageAttributes$ColorType:java.awt.PageAttributes$MediaType:java.awt.PageAttributes$OrientationRequestedType:java.awt.PageAttributes$OriginType:java.awt.PageAttributes$PrintQualityType:java.awt.Point:java.awt.Rectangle:java.awt.RenderingHints:java.awt.ScrollPaneAdjustable:java.awt.SystemColor:java.awt.datatransfer.DataFlavor:java.awt.datatransfer.MimeType:java.awt.datatransfer.MimeTypeParameterList:java.awt.font.NumericShaper:java.awt.font.TextHitInfo:java.awt.geom.AffineTransform:java.awt.geom.Point2D$Double:java.awt.geom.Point2D$Float:java.awt.geom.Rectangle2D$Double:java.awt.geom.Rectangle2D$Float:java.awt.image.BufferedImage:java.awt.image.ColorModel:java.awt.image.IndexColorModel:java.beans.FeatureDescriptor:java.beans.PropertyChangeEvent:java.io.ByteArrayOutputStream:java.io.ObjectOutputStream$DebugTraceInfoStack:java.io.ObjectStreamClass:java.io.ObjectStreamField:java.io.StringWriter:java.lang.Boolean:java.lang.Character$Subset:java.lang.Enum:java.lang.Module:java.lang.ModuleLayer:java.lang.Package:java.lang.ProcessBuilder$Redirect$1:java.lang.ProcessBuilder$Redirect$2:java.lang.ProcessBuilder$Redirect$3:java.lang.ProcessBuilder$Redirect$4:java.lang.ProcessBuilder$Redirect$5:java.lang.ProcessBuilder$Redirect$6:java.lang.ProcessBuilder$RedirectPipeImpl:java.lang.ProcessHandleImpl:java.lang.ProcessImpl:java.lang.Runtime$Version:java.lang.StackFrameInfo:java.lang.StackTraceElement:java.lang.String:java.lang.StringBuilder:java.lang.ThreadGroup:java.lang.invoke.ClassSpecializer$SpeciesData:java.lang.invoke.Invokers:java.lang.invoke.LambdaForm:java.lang.invoke.LambdaForm$Name:java.lang.invoke.LambdaForm$NamedFunction:java.lang.invoke.LambdaFormEditor$Transform:java.lang.invoke.MemberName:java.lang.invoke.MethodHandle:java.lang.invoke.MethodHandleImpl$LoopClauses:java.lang.invoke.MethodHandles$Lookup:java.lang.invoke.MethodType:java.lang.invoke.MethodTypeForm:java.lang.invoke.SerializedLambda:java.lang.management.LockInfo:java.lang.management.MemoryType:java.lang.management.MemoryUsage:java.lang.management.ThreadInfo:java.lang.module.Configuration:java.lang.module.ModuleDescriptor:java.lang.module.ModuleDescriptor$Exports:java.lang.module.ModuleDescriptor$Opens:java.lang.module.ModuleDescriptor$Provides:java.lang.module.ModuleDescriptor$Requires:java.lang.module.ModuleDescriptor$Version:java.lang.module.ResolvedModule:java.lang.reflect.Constructor:java.lang.reflect.Field:java.lang.reflect.Method:java.lang.reflect.Parameter:java.math.BigDecimal:java.math.BigInteger:java.math.MathContext:java.math.MutableBigInteger:java.net.HttpCookie:java.net.InetAddress:java.net.InterfaceAddress:java.net.NetworkInterface:java.net.Proxy:java.net.ServerSocket:java.net.Socket:java.net.SocketImpl:java.net.URI:java.net.URL:java.net.URLConnection:java.nio.ByteBuffer:java.nio.ByteOrder:java.nio.CharBuffer:java.nio.DoubleBuffer:java.nio.FloatBuffer:java.nio.IntBuffer:java.nio.LongBuffer:java.nio.ShortBuffer:java.nio.channels.FileChannel$MapMode:java.nio.channels.FileLock:java.nio.charset.Charset:java.nio.charset.CoderResult:java.nio.charset.CodingErrorAction:java.nio.file.attribute.FileTime:java.security.AlgorithmParameters:java.security.CodeSigner:java.security.CodeSource:java.security.MessageDigest:java.security.Permission:java.security.PermissionCollection:java.security.PrivilegedActionException:java.security.ProtectionDomain:java.security.Provider:java.security.Provider$Service:java.security.SecureRandom:java.security.SecureRandomSpi:java.security.Signature:java.security.Timestamp:java.security.cert.CertPath:java.text.Annotation:java.text.AttributedCharacterIterator$Attribute:java.text.CalendarBuilder:java.text.DigitList:java.text.FieldPosition:java.text.ParsePosition:java.time.Duration:java.time.Instant:java.time.LocalDate:java.time.LocalDateTime:java.time.LocalTime:java.time.OffsetDateTime:java.time.OffsetTime:java.time.Period:java.time.ZoneId:java.time.ZoneOffset:java.time.ZonedDateTime:java.time.chrono.AbstractChronology:java.time.format.DateTimeFormatter:java.time.format.DateTimeFormatterBuilder$CompositePrinterParser:java.time.format.DateTimeFormatterBuilder$NumberPrinterParser:java.time.format.DateTimeParseContext:java.time.format.DateTimePrintContext:java.time.format.DecimalStyle:java.time.format.Parsed:java.time.temporal.ChronoField:java.time.temporal.ChronoUnit:java.time.temporal.ValueRange:java.time.zone.ZoneOffsetTransition:java.time.zone.ZoneOffsetTransitionRule:java.time.zone.ZoneRules:java.util.AbstractCollection:java.util.AbstractMap:java.util.BitSet:java.util.Calendar:java.util.Currency:java.util.Date:java.util.DoubleSummaryStatistics:java.util.EventObject:java.util.Formatter:java.util.HashMap$Node:java.util.Hashtable:java.util.Hashtable$Entry:java.util.IntSummaryStatistics:java.util.Locale:java.util.LongSummaryStatistics:java.util.Optional:java.util.OptionalDouble:java.util.OptionalInt:java.util.OptionalLong:java.util.Properties:java.util.ResourceBundle$CacheKey:java.util.ServiceLoader:java.util.StringJoiner:java.util.TreeMap$Entry:java.util.UUID:java.util.Vector:java.util.WeakHashMap$Entry:java.util.concurrent.ArrayBlockingQueue:java.util.concurrent.CompletableFuture:java.util.concurrent.ConcurrentHashMap:java.util.concurrent.ConcurrentHashMap$CollectionView:java.util.concurrent.ConcurrentHashMap$Node:java.util.concurrent.ConcurrentLinkedQueue:java.util.concurrent.CopyOnWriteArrayList:java.util.concurrent.CountDownLatch:java.util.concurrent.ForkJoinPool:java.util.concurrent.FutureTask:java.util.concurrent.LinkedBlockingDeque:java.util.concurrent.LinkedBlockingQueue:java.util.concurrent.PriorityBlockingQueue:java.util.concurrent.Semaphore:java.util.concurrent.SynchronousQueue:java.util.concurrent.ThreadPoolExecutor:java.util.concurrent.atomic.AtomicBoolean:java.util.concurrent.atomic.AtomicInteger:java.util.concurrent.atomic.AtomicLong:java.util.concurrent.atomic.AtomicLongArray:java.util.concurrent.atomic.AtomicReference:java.util.concurrent.atomic.AtomicReferenceArray:java.util.concurrent.atomic.LongAdder:java.util.concurrent.locks.AbstractQueuedSynchronizer:java.util.concurrent.locks.ReentrantLock:java.util.concurrent.locks.ReentrantReadWriteLock:java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock:java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock:java.util.jar.Attributes$Name:java.util.logging.Level:java.util.regex.Matcher:java.util.regex.Pattern:java.util.zip.ZipEntry:javax.accessibility.AccessibleBundle:javax.accessibility.AccessibleRelationSet:javax.accessibility.AccessibleStateSet:javax.crypto.CryptoPermission:javax.management.Attribute:javax.management.BadAttributeValueExpException:javax.management.BadBinaryOpValueExpException:javax.management.BadStringOperationException:javax.management.MBeanAttributeInfo:javax.management.MBeanConstructorInfo:javax.management.MBeanInfo:javax.management.MBeanNotificationInfo:javax.management.MBeanOperationInfo:javax.management.MBeanParameterInfo:javax.management.Notification:javax.management.ObjectInstance:javax.management.ObjectName:javax.management.openmbean.CompositeType:javax.management.openmbean.TabularType:javax.print.DocFlavor:javax.print.MimeType:javax.print.event.PrintEvent:javax.security.auth.Subject:javax.swing.DefaultListModel:javax.swing.ImageIcon:javax.swing.JList$DropLocation:javax.swing.JTree$DropLocation:javax.swing.LookAndFeel:javax.swing.MultiUIDefaults:javax.swing.TimerQueue:javax.swing.TransferHandler$DropLocation:javax.swing.UIManager$LookAndFeelInfo:javax.swing.event.DocumentEvent$EventType:javax.swing.event.EventListenerList:javax.swing.event.HyperlinkEvent$EventType:javax.swing.event.ListDataEvent:javax.swing.event.ListSelectionEvent:javax.swing.event.TreeModelEvent:javax.swing.text.AbstractDocument$BranchElement:javax.swing.text.AbstractDocument$DefaultDocumentEvent:javax.swing.text.DefaultCaret:javax.swing.text.DefaultStyledDocument$ElementBuffer$ElemChanges:javax.swing.text.DefaultStyledDocument$ElementSpec:javax.swing.text.JTextComponent$DropLocation:javax.swing.text.JTextComponent$MutableCaretEvent:javax.swing.text.Position$Bias:javax.swing.text.Segment:javax.swing.text.SimpleAttributeSet:javax.swing.text.StyleConstants:javax.swing.text.StyleContext:javax.swing.text.StyleContext$SmallAttributeSet:javax.swing.text.TabSet:javax.swing.text.TabStop:javax.swing.tree.DefaultMutableTreeNode:javax.swing.tree.TreePath:javax.swing.undo.AbstractUndoableEdit:javax.swing.undo.CompoundEdit:org.slf4j.event.Level:org.testng.internal.AnnotationTypeEnum:org.testng.junit.JUnitUtils$JUnitTestMethod:org.xml.sax.SAXException:org.xml.sax.SAXParseException:org.yaml.snakeyaml.Yaml:org.yaml.snakeyaml.nodes.Tag:sun.awt.AppContext:sun.font.AttributeValues:sun.font.EAttribute:sun.font.FontFamily:sun.font.FontStrikeDesc:sun.font.StrikeMetrics:sun.java2d.loops.CompositeType:sun.java2d.loops.FontInfo:sun.java2d.loops.GraphicsPrimitive:sun.java2d.loops.SurfaceType:sun.java2d.pipe.Region:sun.net.www.MessageHeader:sun.nio.fs.UnixFileStore:sun.nio.fs.UnixPath:sun.reflect.annotation.AnnotationType:sun.reflect.annotation.TypeAnnotation:sun.reflect.annotation.TypeAnnotation$TypeAnnotationTargetInfo:sun.security.util.JarConstraintsParameters:sun.security.util.LazyCodeSourcePermissionCollection:sun.util.calendar.CalendarDate:sun.util.calendar.Era:sun.util.calendar.JulianCalendar$Date:sun.util.locale.BaseLocale:sun.util.locale.Extension:sun.util.locale.LocaleExtensions].toString()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 3
    ICount: 20
    EdgeCount: 909
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.Strings:46"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Strings:53"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.Strings:52"
        BranchSideFuncs:
        - "toString()"
    - Branch String: "com.netflix.servo.util.Strings:48"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.Strings:53"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "next()"
      - BranchSide: "com.netflix.servo.util.Strings:52"
        BranchSideFuncs:
        - "toString()"
    Callsites:
    - Src: "com.netflix.servo.util.Strings:42,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.util.Strings:45,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.util.Strings:46,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.util.Strings:47,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.util.Strings:47,1"
      Dst: "[java.lang.Object].toString()"
    - Src: "com.netflix.servo.util.Strings:47,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.util.Strings:53,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.monitor.CompositeMonitorWrapper].<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.CompositeMonitor)"
    functionSourceFile: "com.netflix.servo.monitor.CompositeMonitorWrapper"
    linkageType: ""
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.tag.TagList"
    - "com.netflix.servo.monitor.CompositeMonitor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor:com.netflix.servo.monitor.AbstractMonitor:com.netflix.servo.monitor.AnnotatedNumberMonitor:com.netflix.servo.monitor.CompositeMonitorWrapper:com.netflix.servo.monitor.DynamicCounter:com.netflix.servo.monitor.DynamicGauge:com.netflix.servo.monitor.DynamicTimer:com.netflix.servo.monitor.SpectatorMonitorWrapper:com.netflix.servo.monitor.TimedInterface$TimedHandler].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.NumberGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.StatsMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BucketTimer].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.StepCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DoubleCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.LongGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DoubleGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MaxGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicTimer].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    - "[com.netflix.servo.monitor.SpectatorMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionUses: 1
    ICount: 13
    EdgeCount: 18
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.CompositeMonitorWrapper:40"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.CompositeMonitorWrapper:43"
        BranchSideFuncs:
        - "initializeSpectator(com.netflix.servo.tag.TagList)"
      - BranchSide: "com.netflix.servo.monitor.CompositeMonitorWrapper:42"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:37,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:37,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:37,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:41,1"
      Dst: "[com.netflix.servo.monitor.SpectatorMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.CompositeMonitorWrapper].getMonitors()"
    functionSourceFile: "com.netflix.servo.monitor.CompositeMonitorWrapper"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DynamicCounter].getMonitors()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getMonitors()"
    - "[com.netflix.servo.monitor.DynamicGauge].getMonitors()"
    - "[com.netflix.servo.monitor.DynamicTimer].getMonitors()"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].getMonitors()"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitors()"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].getMonitors()"
    - "[java.util.ArrayList].<init>(int)"
    - "[com.google.common.collect.Lists$StringAsImmutableList].size()"
    - "[com.google.common.collect.LinkedListMultimap$4].size()"
    - "[com.google.common.collect.LinkedListMultimap$1].size()"
    - "[com.google.common.collect.Lists$AbstractListWrapper].size()"
    - "[com.google.common.collect.Sets$CartesianSet$1].size()"
    - "[com.google.common.collect.ForwardingCollection].size()"
    - "[com.google.common.collect.ImmutableAsList].size()"
    - "[com.google.common.collect.CartesianList$1].size()"
    - "[com.google.common.collect.Lists$CharSequenceAsList].size()"
    - "[com.google.common.collect.Lists$Partition].size()"
    - "[com.google.common.collect.Lists$ReverseList].size()"
    - "[com.google.common.collect.RegularImmutableTable$Values].size()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].size()"
    - "[com.google.common.collect.Lists$TransformingSequentialList].size()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].size()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].size()"
    - "[com.google.common.collect.LinkedListMultimap$3].size()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].size()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].size()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[javax.management.AttributeList].add(java.lang.Object)"
    - "[com.netflix.servo.monitor.Monitors].wrap(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    - "[java.util.Collections].unmodifiableList(java.util.List)"
    - "[com.netflix.servo.monitor.CompositeMonitor].getMonitors()"
    - "[java.util.List].size()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 5
    ICount: 17
    EdgeCount: 165
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.CompositeMonitorWrapper:52"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.CompositeMonitorWrapper:55"
        BranchSideFuncs:
        - "hasNext()"
        - "add(java.lang.Object)"
        - "iterator()"
        - "next()"
        - "wrap(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
      - BranchSide: "com.netflix.servo.monitor.CompositeMonitorWrapper:54"
        BranchSideFuncs:
        - "unmodifiableList(java.util.List)"
    Callsites:
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:50,1"
      Dst: "[com.netflix.servo.monitor.CompositeMonitor].getMonitors()"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:51,1"
      Dst: "[java.util.List].size()"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:51,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:52,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:52,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:52,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:53,1"
      Dst: "[com.netflix.servo.monitor.Monitors].wrap(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:53,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:55,1"
      Dst: "[java.util.Collections].unmodifiableList(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.CompositeMonitorWrapper].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.CompositeMonitorWrapper"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.CompositeMonitorWrapper].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.CompositeMonitorWrapper"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].getValue(int)"
    - "[com.netflix.servo.monitor.DynamicTimer].getValue(int)"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getValue(int)"
    - "[com.netflix.servo.monitor.StatsMonitor].getValue(int)"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].getValue(int)"
    - "[com.netflix.servo.monitor.ContextualTimer].getValue(int)"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].getValue(int)"
    - "[com.netflix.servo.monitor.DynamicGauge].getValue(int)"
    - "[com.netflix.servo.monitor.BasicTimer].getValue(int)"
    - "[com.netflix.servo.monitor.BucketTimer].getValue(int)"
    - "[com.netflix.servo.monitor.DurationTimer].getValue(int)"
    - "[com.netflix.servo.monitor.DynamicCounter].getValue(int)"
    - "[com.netflix.servo.monitor.ContextualCounter].getValue(int)"
    - "[com.netflix.servo.monitor.Monitor].getValue(int)"
    functionUses: 2
    ICount: 5
    EdgeCount: 13
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:72,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.CompositeMonitorWrapper].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.CompositeMonitorWrapper"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StatsMonitor].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DurationTimer].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BucketTimer].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsTimer].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicTimer].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    functionUses: 41
    ICount: 19
    EdgeCount: 11
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.CompositeMonitorWrapper:80"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.CompositeMonitorWrapper:81"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.CompositeMonitorWrapper:80"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.CompositeMonitorWrapper:80"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.CompositeMonitorWrapper:84"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.CompositeMonitorWrapper:83"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.CompositeMonitorWrapper:85"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.CompositeMonitorWrapper:83"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.CompositeMonitorWrapper:85"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.CompositeMonitorWrapper:83"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "getConfig()"
    Callsites:
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:85,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:85,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:85,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.CompositeMonitorWrapper].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.CompositeMonitorWrapper"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.netflix.servo.monitor.DurationTimer].hashCode()"
    - "[com.netflix.servo.monitor.BasicTimer].hashCode()"
    - "[com.netflix.servo.monitor.StatsMonitor].hashCode()"
    - "[com.netflix.servo.monitor.BucketTimer].hashCode()"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].hashCode()"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].hashCode()"
    - "[com.netflix.servo.monitor.StatsTimer].hashCode()"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].hashCode()"
    - "[java.lang.Object].hashCode()"
    functionUses: 41
    ICount: 8
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:93,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:94,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.CompositeMonitorWrapper].toString()"
    functionSourceFile: "com.netflix.servo.monitor.CompositeMonitorWrapper"
    linkageType: ""
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 39
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:103,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:103,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:103,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:103,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.CompositeMonitorWrapper:103,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$13].<init>(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables$13"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.FluentIterable].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$13:948,1"
      Dst: "[com.google.common.collect.FluentIterable].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$13].iterator()"
    functionSourceFile: "com.google.common.collect.Iterables$13"
    linkageType: ""
    functionLinenumber: 950
    functionLinenumberEnd: 952
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterators].consumingIterator(java.util.Iterator)"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[java.lang.Iterable].iterator()"
    functionUses: 56
    ICount: 5
    EdgeCount: 179
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$13:951,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables$13:951,1"
      Dst: "[com.google.common.collect.Iterators].consumingIterator(java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.NumericMonitorWrapper].<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.NumericMonitor)"
    functionSourceFile: "com.netflix.servo.monitor.NumericMonitorWrapper"
    linkageType: ""
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionDepth: 8
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.tag.TagList"
    - "com.netflix.servo.monitor.NumericMonitor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorWrapper].<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    functionUses: 2
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.NumericMonitorWrapper:30,1"
      Dst: "[com.netflix.servo.monitor.MonitorWrapper].<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$3].<init>(java.util.Iterator)"
    functionSourceFile: "com.google.common.collect.Iterables$3"
    linkageType: ""
    functionLinenumber: 504
    functionLinenumberEnd: 506
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.Iterator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.TransformedIterator].<init>(java.util.Iterator)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$3:505,1"
      Dst: "[com.google.common.collect.TransformedIterator].<init>(java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$3].transform(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables$3"
    linkageType: ""
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[java.lang.Iterable].iterator()"
    functionUses: 1
    ICount: 4
    EdgeCount: 178
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$3:508,1"
      Dst: "[java.lang.Iterable].iterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$3].transform(java.lang.Object)"
    functionSourceFile: "com.google.common.collect.Iterables$3"
    linkageType: ""
    functionLinenumber: 504
    functionLinenumberEnd: 506
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterables$3].transform(java.lang.Iterable)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$3:505,1"
      Dst: "[com.google.common.collect.Iterables$3].transform(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].getConfig()"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.monitor.MonitorConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].getUnit()"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.concurrent.TimeUnit"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    functionUses: 39
    ICount: 21
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:63"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:67"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:66"
        BranchSideFuncs:
        - "getClass()"
    - Branch String: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:67"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:68"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:67"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:67"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:71"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:70"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:72"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:70"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:72"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:70"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:67,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:72,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.DynamicTimer$ConfigUnit].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit"
    linkageType: ""
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[java.lang.Enum].hashCode()"
    functionUses: 39
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:77,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.DynamicTimer$ConfigUnit:78,1"
      Dst: "[java.lang.Enum].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.BaseMetricPoller$lambda_poll_0__37].bootstrap$(com.netflix.servo.publish.MetricFilter)"
    functionSourceFile: "com.netflix.servo.publish.BaseMetricPoller$lambda_poll_0__37"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.Predicate"
    argCount: 1
    argTypes:
    - "com.netflix.servo.publish.MetricFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.BaseMetricPoller$lambda_poll_0__37].<init>(com.netflix.servo.publish.MetricFilter)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.BaseMetricPoller$lambda_poll_0__37:-1,1"
      Dst: "[com.netflix.servo.publish.BaseMetricPoller$lambda_poll_0__37].<init>(com.netflix.servo.publish.MetricFilter)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.BaseMetricPoller$lambda_poll_0__37].<init>(com.netflix.servo.publish.MetricFilter)"
    functionSourceFile: "com.netflix.servo.publish.BaseMetricPoller$lambda_poll_0__37"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.publish.MetricFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.BaseMetricPoller$lambda_poll_0__37:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.BaseMetricPoller$lambda_poll_0__37].test(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.publish.BaseMetricPoller$lambda_poll_0__37"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.BaseMetricPoller].lambda$poll$0(com.netflix.servo.publish.MetricFilter,com.netflix.servo.Metric)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.BaseMetricPoller$lambda_poll_0__37:-1,1"
      Dst: "[com.netflix.servo.publish.BaseMetricPoller].lambda$poll$0(com.netflix.servo.publish.MetricFilter,com.netflix.servo.Metric)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.NumberGauge].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.NumberGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.NumberGauge:40,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.NumberGauge:40,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.NumberGauge].<init>(com.netflix.servo.monitor.MonitorConfig,java.lang.Number)"
    functionSourceFile: "com.netflix.servo.monitor.NumberGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "java.lang.Number"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[java.lang.ref.WeakReference].<init>(java.lang.Object)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.NumberGauge:50,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.NumberGauge:50,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.NumberGauge:52,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.monitor.NumberGauge:53,1"
      Dst: "[java.lang.ref.WeakReference].<init>(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.NumberGauge].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.NumberGauge"
    linkageType: ""
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionDepth: 0
    returnType: "java.lang.Number"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.ref.CleanerImpl$WeakCleanableRef].get()"
    - "[java.lang.ref.Reference].get()"
    - "[java.lang.Double].valueOf(double)"
    functionUses: 2
    ICount: 10
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.NumberGauge:62"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.NumberGauge:60"
        BranchSideFuncs:
        - "valueOf(double)"
        - "get()"
    Callsites:
    - Src: "com.netflix.servo.monitor.NumberGauge:61,1"
      Dst: "[java.lang.ref.Reference].get()"
    - Src: "com.netflix.servo.monitor.NumberGauge:62,1"
      Dst: "[java.lang.Double].valueOf(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.NumberGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.NumberGauge"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[jdk.internal.ref.CleanerImpl$WeakCleanableRef].get()"
    - "[java.lang.ref.Reference].get()"
    - "[com.netflix.spectator.api.patterns.PolledMeter$Builder].monitorValue(java.lang.Number)"
    - "[com.netflix.servo.SpectatorContext].polledGauge(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    functionUses: 6
    ICount: 11
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.NumberGauge:71"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.NumberGauge:74"
        BranchSideFuncs:
        - "withAdditionalTags(com.netflix.servo.tag.TagList)"
        - "monitorValue(java.lang.Number)"
        - "polledGauge(com.netflix.servo.monitor.MonitorConfig)"
      - BranchSide: "com.netflix.servo.monitor.NumberGauge:73"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.NumberGauge:70,1"
      Dst: "[java.lang.ref.Reference].get()"
    - Src: "com.netflix.servo.monitor.NumberGauge:72,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.NumberGauge:72,1"
      Dst: "[com.netflix.servo.SpectatorContext].polledGauge(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.NumberGauge:72,1"
      Dst: "[com.netflix.spectator.api.patterns.PolledMeter$Builder].monitorValue(java.lang.Number)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.SpectatorContext].polledGauge(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionDepth: 2
    returnType: "com.netflix.spectator.api.patterns.PolledMeter$Builder"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Lists$OnePlusArrayList].get(int)"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].get(int)"
    - "[com.google.common.collect.CartesianList$1].get(int)"
    - "[com.google.common.base.Joiner$3].get(int)"
    - "[com.google.common.collect.SingletonImmutableList].get(int)"
    - "[com.google.common.collect.ImmutableMapValues$1].get(int)"
    - "[com.google.common.collect.ImmutableRangeMap$1].get(int)"
    - "[com.google.common.collect.ImmutableRangeSet$1].get(int)"
    - "[com.google.common.collect.Lists$AbstractListWrapper].get(int)"
    - "[com.google.common.collect.RegularImmutableTable$Values].get(int)"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet$1].get(int)"
    - "[com.google.common.collect.ImmutableRangeSet$ComplementRanges].get(int)"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].get(int)"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].get(int)"
    - "[com.google.common.collect.ForwardingList].get(int)"
    - "[com.google.common.collect.Lists$TwoPlusArrayList].get(int)"
    - "[com.google.common.collect.Lists$Partition].get(int)"
    - "[com.google.common.primitives.Chars$CharArrayAsList].get(int)"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet$1].get(int)"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].get(int)"
    - "[com.google.common.collect.Lists$StringAsImmutableList].get(int)"
    - "[java.util.concurrent.CopyOnWriteArrayList].get(int)"
    - "[com.google.common.collect.RegularImmutableAsList].get(int)"
    - "[com.google.common.collect.CartesianList].get(int)"
    - "[com.google.common.collect.Synchronized$SynchronizedList].get(int)"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].get(int)"
    - "[sun.awt.util.IdentityArrayList].get(int)"
    - "[com.google.common.collect.RegularImmutableList].get(int)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedList].get(int)"
    - "[com.google.common.collect.Lists$CharSequenceAsList].get(int)"
    - "[java.util.AbstractSequentialList].get(int)"
    - "[com.google.common.primitives.Longs$LongArrayAsList].get(int)"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].get(int)"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet$1].get(int)"
    - "[com.google.common.collect.Lists$ReverseList].get(int)"
    - "[com.google.common.collect.ImmutableMapKeySet$1].get(int)"
    - "[com.google.common.collect.RegularImmutableTable$CellSet$1].get(int)"
    - "[com.google.common.primitives.Ints$IntArrayAsList].get(int)"
    - "[com.google.common.collect.ImmutableList$SubList].get(int)"
    - "[java.util.LinkedList].get(int)"
    - "[com.google.common.collect.Sets$CartesianSet$1].get(int)"
    - "[java.util.Vector].get(int)"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].get(int)"
    - "[java.util.ArrayList].get(int)"
    - "[com.netflix.servo.monitor.Pollers].getPollingIntervals()"
    - "[java.lang.Long].longValue()"
    - "[java.lang.Math].max(long,long)"
    - "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.spectator.api.patterns.PolledMeter].remove(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.patterns.PolledMeter].using(com.netflix.spectator.api.Registry)"
    - "[com.netflix.spectator.api.patterns.IdBuilder].withId(com.netflix.spectator.api.Id)"
    - "[java.time.Duration].ofMillis(long)"
    - "[com.netflix.spectator.api.patterns.PolledMeter$Builder].withDelay(java.time.Duration)"
    - "[com.netflix.servo.SpectatorContext].gaugePool()"
    - "[com.netflix.spectator.api.patterns.PolledMeter$Builder].scheduleOn(java.util.concurrent.ScheduledExecutorService)"
    - "[java.util.List].get(int)"
    functionUses: 5
    ICount: 19
    EdgeCount: 55
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:156,1"
      Dst: "[com.netflix.servo.monitor.Pollers].getPollingIntervals()"
    - Src: "com.netflix.servo.SpectatorContext:156,1"
      Dst: "[java.util.List].get(int)"
    - Src: "com.netflix.servo.SpectatorContext:156,1"
      Dst: "[java.lang.Long].longValue()"
    - Src: "com.netflix.servo.SpectatorContext:156,1"
      Dst: "[java.lang.Math].max(long,long)"
    - Src: "com.netflix.servo.SpectatorContext:157,1"
      Dst: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.SpectatorContext:158,1"
      Dst: "[com.netflix.spectator.api.patterns.PolledMeter].remove(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    - Src: "com.netflix.servo.SpectatorContext:159,1"
      Dst: "[com.netflix.spectator.api.patterns.PolledMeter].using(com.netflix.spectator.api.Registry)"
    - Src: "com.netflix.servo.SpectatorContext:160,1"
      Dst: "[com.netflix.spectator.api.patterns.IdBuilder].withId(com.netflix.spectator.api.Id)"
    - Src: "com.netflix.servo.SpectatorContext:161,1"
      Dst: "[java.time.Duration].ofMillis(long)"
    - Src: "com.netflix.servo.SpectatorContext:161,1"
      Dst: "[com.netflix.spectator.api.patterns.PolledMeter$Builder].withDelay(java.time.Duration)"
    - Src: "com.netflix.servo.SpectatorContext:162,1"
      Dst: "[com.netflix.servo.SpectatorContext].gaugePool()"
    - Src: "com.netflix.servo.SpectatorContext:162,1"
      Dst: "[com.netflix.spectator.api.patterns.PolledMeter$Builder].scheduleOn(java.util.concurrent.ScheduledExecutorService)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext].gaugePool()"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionDepth: 0
    returnType: "java.util.concurrent.ScheduledExecutorService"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.NumberGauge].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.NumberGauge"
    linkageType: ""
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[java.lang.Integer].equals(java.lang.Object)"
    - "[java.lang.Short].equals(java.lang.Object)"
    - "[java.lang.Double].equals(java.lang.Object)"
    - "[java.lang.Float].equals(java.lang.Object)"
    - "[java.lang.Byte].equals(java.lang.Object)"
    - "[java.lang.Long].equals(java.lang.Object)"
    - "[com.google.common.primitives.UnsignedInteger:com.google.common.primitives.UnsignedLong:java.lang.Object:java.math.BigDecimal:java.math.BigInteger].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    - "[java.lang.Object].equals(java.lang.Object)"
    functionUses: 40
    ICount: 21
    EdgeCount: 10
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.NumberGauge:81"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.NumberGauge:85"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.NumberGauge:84"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.NumberGauge:85"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.NumberGauge:89"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.NumberGauge:88"
        BranchSideFuncs:
        - "getValue()"
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.servo.monitor.NumberGauge:90"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.NumberGauge:88"
        BranchSideFuncs:
        - "getValue()"
        - "equals(java.lang.Object)"
    - Branch String: "com.netflix.servo.monitor.NumberGauge:90"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.NumberGauge:88"
        BranchSideFuncs:
        - "getValue()"
        - "equals(java.lang.Object)"
    Callsites:
    - Src: "com.netflix.servo.monitor.NumberGauge:90,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.NumberGauge:90,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    - Src: "com.netflix.servo.monitor.NumberGauge:90,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.monitor.NumberGauge].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.NumberGauge"
    linkageType: ""
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.primitives.UnsignedInteger:com.netflix.servo.monitor.AbstractMonitor:java.lang.Object:java.math.BigDecimal:java.math.BigInteger].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.netflix.servo.monitor.NumberGauge].getValue(int)"
    - "[java.lang.Double].hashCode()"
    - "[java.lang.Byte].hashCode()"
    - "[com.google.common.primitives.UnsignedLong].hashCode()"
    - "[java.lang.Short].hashCode()"
    - "[java.lang.Long].hashCode()"
    - "[java.lang.Float].hashCode()"
    - "[java.lang.Integer].hashCode()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[java.lang.Object].hashCode()"
    functionUses: 40
    ICount: 8
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.NumberGauge:98,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.NumberGauge:98,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.NumberGauge:99,1"
      Dst: "[com.netflix.servo.monitor.NumberGauge].getValue(int)"
    - Src: "com.netflix.servo.monitor.NumberGauge:99,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.NumberGauge].toString()"
    functionSourceFile: "com.netflix.servo.monitor.NumberGauge"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[jdk.internal.ref.CleanerImpl$WeakCleanableRef].get()"
    - "[java.lang.StringBuilder:java.lang.ref.Reference].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.ref.Reference].get()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 39
    ICount: 13
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.NumberGauge:108,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.NumberGauge:108,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.NumberGauge:108,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.NumberGauge:108,1"
      Dst: "[java.lang.ref.Reference].get()"
    - Src: "com.netflix.servo.monitor.NumberGauge:108,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.NumberGauge:108,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.NumberGauge].getBackingNumber()"
    functionSourceFile: "com.netflix.servo.monitor.NumberGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Number"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ref.Reference].get()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.NumberGauge:115,1"
      Dst: "[java.lang.ref.Reference].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.NumberGauge].setBackingNumber(java.lang.Number)"
    functionSourceFile: "com.netflix.servo.monitor.NumberGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Number"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.ref.WeakReference].<init>(java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.NumberGauge:123,1"
      Dst: "[java.lang.ref.WeakReference].<init>(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform$NormalizedValue].<init>(com.netflix.servo.publish.NormalizationTransform)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue"
    linkageType: ""
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.publish.NormalizationTransform"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:233,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform$NormalizedValue].weightedValue(long,double)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue"
    linkageType: ""
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionDepth: 1
    returnType: "double"
    argCount: 2
    argTypes:
    - "long"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.NormalizationTransform].access$400(com.netflix.servo.publish.NormalizationTransform)"
    functionUses: 4
    ICount: 10
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:238,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform].access$400(com.netflix.servo.publish.NormalizationTransform)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform].access$400(com.netflix.servo.publish.NormalizationTransform)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "com.netflix.servo.publish.NormalizationTransform"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform$NormalizedValue].updateAndGet(long,double)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue"
    linkageType: ""
    functionLinenumber: 242
    functionLinenumberEnd: 277
    functionDepth: 2
    returnType: "double"
    argCount: 2
    argTypes:
    - "long"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.NormalizationTransform].access$100(com.netflix.servo.publish.NormalizationTransform)"
    - "[com.netflix.servo.publish.NormalizationTransform].access$400(com.netflix.servo.publish.NormalizationTransform)"
    - "[com.netflix.servo.publish.NormalizationTransform$NormalizedValue].weightedValue(long,double)"
    functionUses: 1
    ICount: 65
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:244"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:275"
        BranchSideFuncs:
        - "access$100(com.netflix.servo.publish.NormalizationTransform)"
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:274"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:245"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:250"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:249"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:245"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:250"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:249"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:253"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:269"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:268"
        BranchSideFuncs:
        - "weightedValue(long,double)"
    - Branch String: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:254"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:254"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:253"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:254"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:261"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:260"
        BranchSideFuncs:
        - "access$400(com.netflix.servo.publish.NormalizationTransform)"
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:245,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform].access$100(com.netflix.servo.publish.NormalizationTransform)"
    - Src: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:250,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform].access$400(com.netflix.servo.publish.NormalizationTransform)"
    - Src: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:256,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform$NormalizedValue].weightedValue(long,double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 7
  - functionName: "[com.netflix.servo.publish.NormalizationTransform].access$100(com.netflix.servo.publish.NormalizationTransform)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform"
    linkageType: ""
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "com.netflix.servo.publish.NormalizationTransform"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform$NormalizedValue].access$000(com.netflix.servo.publish.NormalizationTransform$NormalizedValue)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "com.netflix.servo.publish.NormalizationTransform$NormalizedValue"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform$NormalizedValue].<init>(com.netflix.servo.publish.NormalizationTransform,com.netflix.servo.publish.NormalizationTransform$1)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue"
    linkageType: ""
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.publish.NormalizationTransform"
    - "com.netflix.servo.publish.NormalizationTransform$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.NormalizationTransform$NormalizedValue].<init>(com.netflix.servo.publish.NormalizationTransform)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform$NormalizedValue:233,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform$NormalizedValue].<init>(com.netflix.servo.publish.NormalizationTransform)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].<init>()"
    functionSourceFile: "com.netflix.servo.publish.MonitorRegistryMetricPoller"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    - "[com.netflix.servo.publish.MonitorRegistryMetricPoller].<init>(com.netflix.servo.MonitorRegistry,long,java.util.concurrent.TimeUnit,boolean)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:80,1"
      Dst: "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:80,1"
      Dst: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].<init>(com.netflix.servo.MonitorRegistry,long,java.util.concurrent.TimeUnit,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].<init>(com.netflix.servo.MonitorRegistry)"
    functionSourceFile: "com.netflix.servo.publish.MonitorRegistryMetricPoller"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.MonitorRegistry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.MonitorRegistryMetricPoller].<init>(com.netflix.servo.MonitorRegistry,long,java.util.concurrent.TimeUnit,boolean,com.netflix.servo.util.Clock)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:89,1"
      Dst: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].<init>(com.netflix.servo.MonitorRegistry,long,java.util.concurrent.TimeUnit,boolean,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].<init>(com.netflix.servo.MonitorRegistry,long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.publish.MonitorRegistryMetricPoller"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.MonitorRegistry"
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.MonitorRegistryMetricPoller].<init>(com.netflix.servo.MonitorRegistry,long,java.util.concurrent.TimeUnit,boolean)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:100,1"
      Dst: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].<init>(com.netflix.servo.MonitorRegistry,long,java.util.concurrent.TimeUnit,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].<init>(com.netflix.servo.MonitorRegistry,long,java.util.concurrent.TimeUnit,boolean)"
    functionSourceFile: "com.netflix.servo.publish.MonitorRegistryMetricPoller"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.netflix.servo.MonitorRegistry"
    - "long"
    - "java.util.concurrent.TimeUnit"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.MonitorRegistryMetricPoller].<init>(com.netflix.servo.MonitorRegistry,long,java.util.concurrent.TimeUnit,boolean,com.netflix.servo.util.Clock)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:113,1"
      Dst: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].<init>(com.netflix.servo.MonitorRegistry,long,java.util.concurrent.TimeUnit,boolean,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].<init>(com.netflix.servo.MonitorRegistry,long,java.util.concurrent.TimeUnit,boolean,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.publish.MonitorRegistryMetricPoller"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 5
    argTypes:
    - "com.netflix.servo.MonitorRegistry"
    - "long"
    - "java.util.concurrent.TimeUnit"
    - "boolean"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicReference].<init>()"
    - "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    - "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.util.ThreadFactories].withName(java.lang.String)"
    - "[java.util.concurrent.Executors].newSingleThreadExecutor(java.util.concurrent.ThreadFactory)"
    - "[com.netflix.servo.util.TimeLimiter].<init>(java.util.concurrent.ExecutorService)"
    functionUses: 0
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.MonitorRegistryMetricPoller:132"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:137"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:127,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:64,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].<init>()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:67,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>(long)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:129,1"
      Dst: "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:134,1"
      Dst: "[com.netflix.servo.util.ThreadFactories].withName(java.lang.String)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:135,1"
      Dst: "[java.util.concurrent.Executors].newSingleThreadExecutor(java.util.concurrent.ThreadFactory)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:136,1"
      Dst: "[com.netflix.servo.util.TimeLimiter].<init>(java.util.concurrent.ExecutorService)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].getValue(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.publish.MonitorRegistryMetricPoller"
    linkageType: ""
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionDepth: 7
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.MonitorRegistryMetricPoller$MonitorValueCallable].<init>(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.util.TimeLimiter].callWithTimeout(java.util.concurrent.Callable,long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getValue()"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getValue()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    - "[com.netflix.servo.monitor.DynamicGauge].getValue()"
    - "[com.netflix.servo.monitor.StatsMonitor].getValue()"
    - "[com.netflix.servo.monitor.DurationTimer].getValue()"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getConfig()"
    - "[com.netflix.servo.monitor.DynamicGauge].getConfig()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getConfig()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.NOPLogger].warn(java.lang.String,java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicCounter].increment()"
    - "[com.netflix.servo.monitor.ContextualCounter].increment()"
    - "[com.netflix.servo.monitor.StepCounter].increment()"
    - "[com.netflix.servo.monitor.PeakRateCounter].increment()"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.NOPLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getSimpleName()"
    - "[com.netflix.servo.monitor.DynamicCounter].increment(java.lang.String,java.lang.String[])"
    - "[com.netflix.servo.monitor.Monitor].getValue()"
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object)"
    - "[com.netflix.servo.monitor.Counter].increment()"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 30
    EdgeCount: 29
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.MonitorRegistryMetricPoller:145"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:149"
        BranchSideFuncs:
        - "callWithTimeout(java.util.concurrent.Callable,long,java.util.concurrent.TimeUnit)"
        - "<init>(com.netflix.servo.monitor.Monitor)"
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:148"
        BranchSideFuncs:
        - "getValue()"
    Callsites:
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:146,1"
      Dst: "[com.netflix.servo.publish.MonitorRegistryMetricPoller$MonitorValueCallable].<init>(com.netflix.servo.monitor.Monitor)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:147,1"
      Dst: "[com.netflix.servo.util.TimeLimiter].callWithTimeout(java.util.concurrent.Callable,long,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:149,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:152,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:152,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:153,1"
      Dst: "[com.netflix.servo.monitor.Counter].increment()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:155,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:156,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:156,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:156,1"
      Dst: "[com.netflix.servo.monitor.DynamicCounter].increment(java.lang.String,java.lang.String[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicCounter].increment(java.lang.String,java.lang.String[])"
    functionSourceFile: "com.netflix.servo.monitor.DynamicCounter"
    linkageType: ""
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.DynamicCounter].increment(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.lang.Throwable:java.nio.file.InvalidPathException:java.util.regex.PatternSyntaxException:org.slf4j.helpers.NOPLogger].getMessage()"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Object)"
    - "[java.lang.Throwable].getMessage()"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object)"
    functionUses: 1
    ICount: 28
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.DynamicCounter:82"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DynamicCounter:81"
        BranchSideFuncs:
        - "checkArgument(boolean,java.lang.String)"
      - BranchSide: "com.netflix.servo.monitor.DynamicCounter:80"
        BranchSideFuncs:
        - "checkArgument(boolean,java.lang.String)"
        - "builder(java.lang.String)"
    - Branch String: "com.netflix.servo.monitor.DynamicCounter:85"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DynamicCounter:88"
        BranchSideFuncs:
        - "withTag(java.lang.String,java.lang.String)"
        - "warn(java.lang.String,java.lang.Object)"
        - "getMessage()"
        - "build()"
        - "increment(com.netflix.servo.monitor.MonitorConfig)"
      - BranchSide: "com.netflix.servo.monitor.DynamicCounter:87"
        BranchSideFuncs:
        - "warn(java.lang.String,java.lang.Object)"
        - "getMessage()"
        - "build()"
        - "increment(com.netflix.servo.monitor.MonitorConfig)"
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicCounter:81,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:82,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:86,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:88,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.monitor.DynamicCounter:88,1"
      Dst: "[com.netflix.servo.monitor.DynamicCounter].increment(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:90,1"
      Dst: "[java.lang.Throwable].getMessage()"
    - Src: "com.netflix.servo.monitor.DynamicCounter:90,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.monitor.DynamicCounter].increment(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicCounter"
    linkageType: ""
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DynamicCounter].get(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.BasicCounter].increment()"
    - "[com.netflix.servo.monitor.ContextualCounter].increment()"
    - "[com.netflix.servo.monitor.StepCounter].increment()"
    - "[com.netflix.servo.monitor.PeakRateCounter].increment()"
    - "[com.netflix.servo.monitor.Counter].increment()"
    functionUses: 1
    ICount: 5
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicCounter:74,1"
      Dst: "[com.netflix.servo.monitor.DynamicCounter].get(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:74,1"
      Dst: "[com.netflix.servo.monitor.Counter].increment()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicCounter].get(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicCounter"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionDepth: 3
    returnType: "com.netflix.servo.monitor.Counter"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache].get(java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicCounter:60,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].get(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].getMonitors(java.util.List<Monitor<?>>,com.netflix.servo.publish.MetricFilter,com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.publish.MonitorRegistryMetricPoller"
    linkageType: ""
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.util.List<Monitor<?>>"
    - "com.netflix.servo.publish.MetricFilter"
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitors()"
    - "[com.netflix.servo.monitor.DynamicCounter].getMonitors()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getMonitors()"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].getMonitors()"
    - "[com.netflix.servo.monitor.DynamicGauge].getMonitors()"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].getMonitors()"
    - "[com.netflix.servo.monitor.DurationTimer].getMonitors()"
    - "[com.netflix.servo.monitor.BucketTimer].getMonitors()"
    - "[com.netflix.servo.monitor.DynamicTimer].getMonitors()"
    - "[com.netflix.servo.monitor.BasicTimer].getMonitors()"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].getMonitors()"
    - "[com.netflix.servo.monitor.StatsMonitor].getMonitors()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[com.netflix.servo.publish.MonitorRegistryMetricPoller].getMonitors(java.util.List,com.netflix.servo.publish.MetricFilter,com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getConfig()"
    - "[com.netflix.servo.monitor.DynamicGauge].getConfig()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getConfig()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.publish.RegexMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.publish.PrefixMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.publish.BasicMetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.google.common.collect.ImmutableCollection].add(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].add(java.lang.Object)"
    - "[sun.awt.util.IdentityArrayList].add(java.lang.Object)"
    - "[javax.management.AttributeList].add(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].add(java.lang.Object)"
    - "[java.util.AbstractList].add(java.lang.Object)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[com.google.common.collect.ForwardingCollection].add(java.lang.Object)"
    - "[java.util.Vector].add(java.lang.Object)"
    - "[java.util.LinkedList].add(java.lang.Object)"
    - "[com.google.common.collect.FilteredKeyMultimap$AddRejectingList].add(java.lang.Object)"
    - "[com.google.common.collect.Constraints$ConstrainedList].add(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArrayList].add(java.lang.Object)"
    - "[com.netflix.servo.monitor.CompositeMonitor].getMonitors()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    - "[com.netflix.servo.publish.MetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 2
    ICount: 21
    EdgeCount: 194
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.MonitorRegistryMetricPoller:162"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:166"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "getMonitors()"
        - "next()"
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:165"
        BranchSideFuncs:
        - "matches(com.netflix.servo.monitor.MonitorConfig)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.publish.MonitorRegistryMetricPoller:163"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:163"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "getMonitors()"
        - "getMonitors(java.util.List,com.netflix.servo.publish.MetricFilter,com.netflix.servo.monitor.Monitor)"
        - "next()"
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:162"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "getMonitors()"
        - "next()"
    - Branch String: "com.netflix.servo.publish.MonitorRegistryMetricPoller:166"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:169"
        BranchSideFuncs:
        - "add(java.lang.Object)"
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:168"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:163,1"
      Dst: "[com.netflix.servo.monitor.CompositeMonitor].getMonitors()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:163,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:163,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:163,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:164,1"
      Dst: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].getMonitors(java.util.List,com.netflix.servo.publish.MetricFilter,com.netflix.servo.monitor.Monitor)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:166,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:166,1"
      Dst: "[com.netflix.servo.publish.MetricFilter].matches(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:167,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].refreshMonitorCache(com.netflix.servo.publish.MetricFilter)"
    functionSourceFile: "com.netflix.servo.publish.MonitorRegistryMetricPoller"
    linkageType: ""
    functionLinenumber: 171
    functionLinenumberEnd: 191
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.publish.MetricFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].currentTimeMillis()"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.util.ArrayList].<init>()"
    - "[com.netflix.servo.jmx.JmxMonitorRegistry].getRegisteredMonitors()"
    - "[com.netflix.servo.DefaultMonitorRegistry].getRegisteredMonitors()"
    - "[com.netflix.servo.NoopMonitorRegistry].getRegisteredMonitors()"
    - "[com.netflix.servo.BasicMonitorRegistry].getRegisteredMonitors()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[com.netflix.servo.publish.MonitorRegistryMetricPoller].getMonitors(java.util.List,com.netflix.servo.publish.MetricFilter,com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getConfig()"
    - "[com.netflix.servo.monitor.DynamicGauge].getConfig()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getConfig()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.NOPLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[com.netflix.servo.util.ClockWithOffset].now()"
    - "[com.netflix.servo.util.ManualClock].now()"
    - "[java.util.concurrent.atomic.AtomicLong].set(long)"
    - "[java.util.concurrent.atomic.AtomicReference].set(java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].debug(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.event.EventRecodingLogger].debug(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.NOPLogger].debug(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[java.util.ArrayList].size()"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.Long].valueOf(long)"
    - "[com.netflix.servo.MonitorRegistry].getRegisteredMonitors()"
    - "[java.util.Collection].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[com.netflix.servo.util.Clock].now()"
    - "[java.util.List].size()"
    - "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 47
    EdgeCount: 318
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.MonitorRegistryMetricPoller:173"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:null"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "getRegisteredMonitors()"
        - "<init>()"
        - "iterator()"
    - Branch String: "com.netflix.servo.publish.MonitorRegistryMetricPoller:175"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:182"
        BranchSideFuncs:
        - "hasNext()"
        - "warn(java.lang.String,java.lang.Object,java.lang.Object)"
        - "next()"
        - "getRegisteredMonitors()"
        - "iterator()"
        - "getMonitors(java.util.List,com.netflix.servo.publish.MetricFilter,com.netflix.servo.monitor.Monitor)"
        - "getConfig()"
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:181"
        BranchSideFuncs:
        - "set(java.lang.Object)"
        - "set(long)"
        - "now()"
        - "valueOf(int)"
        - "size()"
    Callsites:
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:172,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:172,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:174,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:175,1"
      Dst: "[com.netflix.servo.MonitorRegistry].getRegisteredMonitors()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:175,1"
      Dst: "[java.util.Collection].iterator()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:175,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:175,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:177,1"
      Dst: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].getMonitors(java.util.List,com.netflix.servo.publish.MetricFilter,com.netflix.servo.monitor.Monitor)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:179,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:179,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:182,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:182,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].set(long)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:183,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].set(java.lang.Object)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:185,1"
      Dst: "[java.util.List].size()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:185,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:185,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:184,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].poll(com.netflix.servo.publish.MetricFilter)"
    functionSourceFile: "com.netflix.servo.publish.MonitorRegistryMetricPoller"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.util.List<Metric>"
    argCount: 1
    argTypes:
    - "com.netflix.servo.publish.MetricFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.MonitorRegistryMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:196,1"
      Dst: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    functionSourceFile: "com.netflix.servo.publish.MonitorRegistryMetricPoller"
    linkageType: ""
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionDepth: 2
    returnType: "java.util.List<Metric>"
    argCount: 2
    argTypes:
    - "com.netflix.servo.publish.MetricFilter"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.MonitorRegistryMetricPoller].refreshMonitorCache(com.netflix.servo.publish.MetricFilter)"
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[java.util.ArrayList].<init>(int)"
    - "[com.google.common.collect.Lists$StringAsImmutableList].size()"
    - "[com.google.common.collect.LinkedListMultimap$4].size()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].size()"
    - "[com.google.common.collect.LinkedListMultimap$1].size()"
    - "[com.google.common.collect.Lists$AbstractListWrapper].size()"
    - "[com.google.common.collect.Sets$CartesianSet$1].size()"
    - "[com.google.common.base.Joiner$3].size()"
    - "[com.google.common.collect.ImmutableRangeMap$1].size()"
    - "[com.google.common.collect.ForwardingCollection].size()"
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].size()"
    - "[com.google.common.collect.ImmutableAsList].size()"
    - "[com.google.common.collect.CartesianList$1].size()"
    - "[com.google.common.collect.Lists$CharSequenceAsList].size()"
    - "[com.google.common.collect.Lists$Partition].size()"
    - "[com.google.common.collect.Lists$ReverseList].size()"
    - "[com.google.common.collect.RegularImmutableTable$Values].size()"
    - "[com.google.common.collect.CartesianList].size()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].size()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].size()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].size()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].size()"
    - "[com.google.common.collect.RegularImmutableList].size()"
    - "[java.util.LinkedList].size()"
    - "[com.google.common.collect.Lists$TransformingSequentialList].size()"
    - "[com.google.common.collect.SingletonImmutableList].size()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].size()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].size()"
    - "[java.util.ArrayList].size()"
    - "[com.google.common.collect.Lists$OnePlusArrayList].size()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].size()"
    - "[com.google.common.collect.LinkedListMultimap$3].size()"
    - "[com.google.common.collect.ImmutableList$SubList].size()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].size()"
    - "[com.google.common.collect.Lists$TwoPlusArrayList].size()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].size()"
    - "[sun.awt.util.IdentityArrayList].size()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].size()"
    - "[java.util.Vector].size()"
    - "[com.google.common.collect.ImmutableRangeSet$ComplementRanges].size()"
    - "[com.google.common.collect.ImmutableRangeSet$1].size()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[com.netflix.servo.publish.MonitorRegistryMetricPoller].getValue(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - "[javax.management.AttributeList].add(java.lang.Object)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getConfig()"
    - "[com.netflix.servo.monitor.DynamicGauge].getConfig()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getConfig()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.util.ClockWithOffset].now()"
    - "[com.netflix.servo.util.ManualClock].now()"
    - "[java.util.List].size()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    - "[com.netflix.servo.util.Clock].now()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 2
    ICount: 25
    EdgeCount: 215
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.MonitorRegistryMetricPoller:206"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:212"
        BranchSideFuncs:
        - "getValue(com.netflix.servo.monitor.Monitor)"
        - "hasNext()"
        - "iterator()"
        - "next()"
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:211"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.MonitorRegistryMetricPoller:208"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:211"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
        - "add(java.lang.Object)"
        - "now()"
        - "getConfig()"
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:210"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:203,1"
      Dst: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].refreshMonitorCache(com.netflix.servo.publish.MetricFilter)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:204,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:205,1"
      Dst: "[java.util.List].size()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:205,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:206,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:206,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:206,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:207,1"
      Dst: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].getValue(com.netflix.servo.monitor.Monitor)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:209,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:209,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:209,1"
      Dst: "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:209,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.publish.MonitorRegistryMetricPoller].shutdown()"
    functionSourceFile: "com.netflix.servo.publish.MonitorRegistryMetricPoller"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ExecutorService].shutdownNow()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.MonitorRegistryMetricPoller:221"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:224"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.MonitorRegistryMetricPoller:223"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.MonitorRegistryMetricPoller:222,1"
      Dst: "[java.util.concurrent.ExecutorService].shutdownNow()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getMonitors()"
    functionSourceFile: "com.netflix.servo.monitor.TimedInterface$TimedHandler"
    linkageType: ""
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collection].stream()"
    - "[java.util.stream.Collectors].toList()"
    - "[com.google.common.collect.Synchronized$SynchronizedBiMap].values()"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].values()"
    - "[com.google.common.cache.LocalCache].values()"
    - "[com.google.common.collect.Maps$FilteredEntryBiMap].values()"
    - "[com.google.common.collect.EnumBiMap].values()"
    - "[com.google.common.collect.MapConstraints$ConstrainedBiMap].values()"
    - "[com.google.common.collect.AbstractBiMap].values()"
    - "[com.google.common.collect.HashBiMap$Inverse].values()"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].values()"
    - "[com.google.common.collect.Maps$UnmodifiableBiMap].values()"
    - "[com.google.common.collect.Maps$DescendingMap].values()"
    - "[com.google.common.collect.EnumHashBiMap].values()"
    - "[com.google.common.collect.MapConstraints$ConstrainedMultimap$1].values()"
    - "[com.google.common.collect.HashBiMap].values()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets].values()"
    - "[com.google.common.collect.AbstractBiMap$Inverse].values()"
    - "[com.google.common.collect.ImmutableBiMap].values()"
    - "[com.google.common.collect.ForwardingMap].values()"
    - "[com.google.common.collect.EmptyImmutableSortedMap].values()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMap].values()"
    - "[com.google.common.collect.ImmutableMap].values()"
    - "[com.google.common.collect.Maps$ImprovedAbstractMap].values()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap].values()"
    - "[com.google.common.collect.MapMakerInternalMap].values()"
    - "[com.google.common.collect.RegularImmutableSortedMap:java.awt.RenderingHints:java.security.Provider:java.util.AbstractMap:java.util.EnumMap:java.util.HashMap:java.util.Hashtable:java.util.IdentityHashMap:java.util.LinkedHashMap:java.util.Properties:java.util.TreeMap:java.util.WeakHashMap:java.util.concurrent.ConcurrentHashMap:java.util.jar.Attributes].values()"
    - "[java.util.Map].values()"
    - "[java.util.stream.Stream].collect(java.util.stream.Collector)"
    functionUses: 5
    ICount: 8
    EdgeCount: 27
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:66,1"
      Dst: "[java.util.Map].values()"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:66,1"
      Dst: "[java.util.Collection].stream()"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:66,1"
      Dst: "[java.util.stream.Collectors].toList()"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:66,1"
      Dst: "[java.util.stream.Stream].collect(java.util.stream.Collector)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.TimedInterface$TimedHandler"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionDepth: 0
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].size()"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].size()"
    - "[com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound].size()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap].size()"
    - "[com.google.common.collect.Maps$NavigableAsMapView].size()"
    - "[com.google.common.collect.ArrayTable$ArrayMap].size()"
    - "[com.google.common.collect.ImmutableSortedMap].size()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse].size()"
    - "[com.google.common.collect.TreeRangeSet$RangesByUpperBound].size()"
    - "[com.google.common.collect.ImmutableEnumMap].size()"
    - "[com.google.common.collect.Multimaps$AsMap].size()"
    - "[com.google.common.collect.ForwardingMap].size()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets].size()"
    - "[com.google.common.collect.MapMakerInternalMap].size()"
    - "[com.google.common.collect.HashBiMap$Inverse].size()"
    - "[com.google.common.collect.Maps$AsMapView].size()"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].size()"
    - "[com.google.common.cache.LocalCache].size()"
    - "[com.google.common.collect.TreeRangeSet$ComplementRangesByLowerBound].size()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap:com.google.common.collect.EmptyImmutableBiMap:com.google.common.collect.EmptyImmutableSortedMap:com.google.common.collect.HashBiMap:com.google.common.collect.RegularImmutableBiMap:com.google.common.collect.RegularImmutableMap:com.google.common.collect.SingletonImmutableBiMap:java.awt.RenderingHints:java.util.AbstractMap:java.util.EnumMap:java.util.HashMap:java.util.Hashtable:java.util.IdentityHashMap:java.util.Properties:java.util.TreeMap:java.util.WeakHashMap:java.util.concurrent.ConcurrentHashMap:java.util.jar.Attributes:javax.swing.MultiUIDefaults].size()"
    - "[java.lang.Long].valueOf(long)"
    - "[java.util.Map].size()"
    functionUses: 2
    ICount: 7
    EdgeCount: 21
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:71,1"
      Dst: "[java.util.Map].size()"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:71,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getValue()"
    functionSourceFile: "com.netflix.servo.monitor.TimedInterface$TimedHandler"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionDepth: 1
    returnType: "java.lang.Long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getValue(int)"
    functionUses: 5
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:76,1"
      Dst: "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getValue(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getConfig()"
    functionSourceFile: "com.netflix.servo.monitor.TimedInterface$TimedHandler"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionDepth: 0
    returnType: "com.netflix.servo.monitor.MonitorConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 20
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.TimedInterface$TimedHandler].invoke(java.lang.Object,java.lang.reflect.Method,java.lang.Object[])"
    functionSourceFile: "com.netflix.servo.monitor.TimedInterface$TimedHandler"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.Object"
    - "java.lang.reflect.Method"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.reflect.Method].getDeclaringClass()"
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[java.lang.reflect.Method].getName()"
    - "[java.util.Map].get(java.lang.Object)"
    - "[com.netflix.servo.monitor.Timer].start()"
    - "[com.netflix.servo.monitor.Stopwatch].stop()"
    functionUses: 0
    ICount: 21
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.TimedInterface$TimedHandler:113"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.TimedInterface$TimedHandler:116"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.TimedInterface$TimedHandler:115"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:112,1"
      Dst: "[java.lang.reflect.Method].getDeclaringClass()"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:113,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:114,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:116,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:117,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:118,1"
      Dst: "[com.netflix.servo.monitor.Timer].start()"
    - Src: "com.netflix.servo.monitor.TimedInterface$TimedHandler:122,1"
      Dst: "[com.netflix.servo.monitor.Stopwatch].stop()"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Throwable"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$UnmodifiableIterable].<init>(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables$UnmodifiableIterable"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.FluentIterable].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$UnmodifiableIterable:88,1"
      Dst: "[com.google.common.collect.FluentIterable].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    functionSourceFile: "com.google.common.collect.Iterables$UnmodifiableIterable"
    linkageType: ""
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.nio.file.Path:java.util.AbstractList:java.util.AbstractSequentialList:java.util.ArrayDeque:java.util.ArrayList:java.util.HashSet:java.util.PriorityQueue:java.util.ServiceLoader:java.util.TreeMap$EntrySet:java.util.TreeMap$KeySet:java.util.TreeSet:java.util.Vector:java.util.concurrent.ArrayBlockingQueue:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView:java.util.concurrent.ConcurrentHashMap$ValuesView:java.util.concurrent.ConcurrentLinkedQueue:java.util.concurrent.CopyOnWriteArrayList:java.util.concurrent.CopyOnWriteArraySet:java.util.concurrent.DelayQueue:java.util.concurrent.LinkedBlockingDeque:java.util.concurrent.LinkedBlockingQueue:java.util.concurrent.PriorityBlockingQueue:java.util.concurrent.SynchronousQueue:javax.print.MimeType$ParameterMapEntrySet:org.yaml.snakeyaml.Loader$EventIterable:org.yaml.snakeyaml.Loader$NodeIterable:org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[com.google.common.collect.Iterators].unmodifiableIterator(java.util.Iterator)"
    - "[java.lang.Iterable].iterator()"
    functionUses: 56
    ICount: 5
    EdgeCount: 152
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$UnmodifiableIterable:94,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables$UnmodifiableIterable:94,1"
      Dst: "[com.google.common.collect.Iterators].unmodifiableIterator(java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$UnmodifiableIterable].toString()"
    functionSourceFile: "com.google.common.collect.Iterables$UnmodifiableIterable"
    linkageType: ""
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterables$1].toString()"
    - "[com.netflix.spectator.api.NoopId].toString()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].toString()"
    - "[com.google.common.collect.SingletonImmutableSet].toString()"
    - "[com.google.common.collect.Sets$PowerSet].toString()"
    - "[com.netflix.spectator.api.ExtendedRegistry].toString()"
    - "[com.google.common.collect.TreeMultiset].toString()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].toString()"
    - "[com.google.common.collect.ContiguousSet].toString()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].toString()"
    - "[com.google.common.collect.HashMultiset].toString()"
    - "[com.google.common.collect.FluentIterable].toString()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].toString()"
    - "[com.google.common.collect.ForwardingObject].toString()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].toString()"
    - "[com.netflix.servo.tag.SmallTagMap].toString()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].toString()"
    - "[com.netflix.spectator.api.DefaultId].toString()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].toString()"
    - "[com.netflix.spectator.api.ArrayTagSet].toString()"
    - "[com.google.common.collect.DescendingMultiset].toString()"
    - "[com.google.common.base.Splitter$5].toString()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].toString()"
    - "[com.netflix.servo.tag.BasicTagList].toString()"
    - "[com.google.common.collect.Collections2$PermutationCollection].toString()"
    - "[java.lang.Object].toString()"
    - "[com.google.common.collect.SingletonImmutableList].toString()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].toString()"
    - "[com.google.common.collect.ConcurrentHashMultiset].toString()"
    - "[com.google.common.collect.AbstractMultiset].toString()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].toString()"
    - "[com.google.common.collect.ImmutableMultiset].toString()"
    - "[com.google.common.collect.EnumMultiset].toString()"
    - "[com.netflix.servo.tag.SortedTagList].toString()"
    - "[com.google.common.collect.Sets$DescendingSet].toString()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].toString()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].toString()"
    - "[com.google.common.collect.LinkedHashMultiset].toString()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].toString()"
    - "[com.google.common.collect.Synchronized$SynchronizedObject].toString()"
    - "[com.google.common.collect.EmptyContiguousSet:com.google.common.collect.EmptyImmutableSet:com.google.common.collect.EmptyImmutableSortedSet:com.google.common.collect.ImmutableEnumSet:java.util.AbstractCollection:java.util.ServiceLoader:java.util.Vector:java.util.concurrent.ArrayBlockingQueue:java.util.concurrent.ConcurrentHashMap$CollectionView:java.util.concurrent.ConcurrentLinkedQueue:java.util.concurrent.CopyOnWriteArrayList:java.util.concurrent.LinkedBlockingDeque:java.util.concurrent.LinkedBlockingQueue:java.util.concurrent.PriorityBlockingQueue:java.util.concurrent.SynchronousQueue:sun.nio.fs.UnixPath].toString()"
    functionUses: 41
    ICount: 4
    EdgeCount: 41
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$UnmodifiableIterable:99,1"
      Dst: "[java.lang.Object].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$UnmodifiableIterable].<init>(java.lang.Iterable,com.google.common.collect.Iterables$1)"
    functionSourceFile: "com.google.common.collect.Iterables$UnmodifiableIterable"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "com.google.common.collect.Iterables$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].<init>(java.lang.Iterable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$UnmodifiableIterable:85,1"
      Dst: "[com.google.common.collect.Iterables$UnmodifiableIterable].<init>(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.JmxMonitorRegistry$lambda_getLock_0__41].bootstrap$()"
    functionSourceFile: "com.netflix.servo.jmx.JmxMonitorRegistry$lambda_getLock_0__41"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.Function"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.jmx.JmxMonitorRegistry$lambda_getLock_0__41].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry$lambda_getLock_0__41:-1,1"
      Dst: "[com.netflix.servo.jmx.JmxMonitorRegistry$lambda_getLock_0__41].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.JmxMonitorRegistry$lambda_getLock_0__41].<init>()"
    functionSourceFile: "com.netflix.servo.jmx.JmxMonitorRegistry$lambda_getLock_0__41"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry$lambda_getLock_0__41:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.JmxMonitorRegistry$lambda_getLock_0__41].apply(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.jmx.JmxMonitorRegistry$lambda_getLock_0__41"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.jmx.JmxMonitorRegistry].lambda$getLock$0(javax.management.ObjectName)"
    functionUses: 6
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry$lambda_getLock_0__41:-1,1"
      Dst: "[com.netflix.servo.jmx.JmxMonitorRegistry].lambda$getLock$0(javax.management.ObjectName)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.JmxMonitorRegistry].lambda$getLock$0(javax.management.ObjectName)"
    functionSourceFile: "com.netflix.servo.jmx.JmxMonitorRegistry"
    linkageType: ""
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "javax.management.ObjectName"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:159,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$SmallTagIterator"
    linkageType: ""
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap].access$100(com.netflix.servo.tag.SmallTagMap)"
    functionUses: 431
    ICount: 10
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SmallTagMap$SmallTagIterator:181"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$SmallTagIterator:180"
        BranchSideFuncs:
        - "access$100(com.netflix.servo.tag.SmallTagMap)"
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap$SmallTagIterator:181,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].access$100(com.netflix.servo.tag.SmallTagMap)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$SmallTagIterator"
    linkageType: ""
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionDepth: 1
    returnType: "com.netflix.servo.tag.Tag"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SmallTagMap].access$100(com.netflix.servo.tag.SmallTagMap)"
    - "[java.util.NoSuchElementException].<init>()"
    functionUses: 414
    ICount: 16
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.netflix.servo.tag.SmallTagMap$SmallTagIterator:186"
      Branch Sides:
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$SmallTagIterator:190"
        BranchSideFuncs:
        - "access$100(com.netflix.servo.tag.SmallTagMap)"
      - BranchSide: "com.netflix.servo.tag.SmallTagMap$SmallTagIterator:189"
        BranchSideFuncs:
        - "<init>()"
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap$SmallTagIterator:186,1"
      Dst: "[com.netflix.servo.tag.SmallTagMap].access$100(com.netflix.servo.tag.SmallTagMap)"
    - Src: "com.netflix.servo.tag.SmallTagMap$SmallTagIterator:190,1"
      Dst: "[java.util.NoSuchElementException].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].remove()"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$SmallTagIterator"
    linkageType: ""
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    functionUses: 39
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.tag.SmallTagMap$SmallTagIterator:195,1"
      Dst: "[java.lang.UnsupportedOperationException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorWrapper].create(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor<T>)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorWrapper"
    linkageType: ""
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionDepth: 10
    returnType: "com.netflix.servo.monitor.MonitorWrapper<T>"
    argCount: 2
    argTypes:
    - "com.netflix.servo.tag.TagList"
    - "com.netflix.servo.monitor.Monitor<T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.SpectatorMonitorWrapper].<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.NumericMonitor)"
    - "[com.netflix.servo.monitor.NumericMonitorWrapper].<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.NumericMonitor)"
    - "[com.netflix.servo.monitor.MonitorWrapper].<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    functionUses: 1
    ICount: 19
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.MonitorWrapper:27"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MonitorWrapper:32"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MonitorWrapper:31"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    - Branch String: "com.netflix.servo.monitor.MonitorWrapper:28"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MonitorWrapper:30"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MonitorWrapper:29"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.NumericMonitor)"
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorWrapper:29,1"
      Dst: "[com.netflix.servo.monitor.SpectatorMonitorWrapper].<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.NumericMonitor)"
    - Src: "com.netflix.servo.monitor.MonitorWrapper:30,1"
      Dst: "[com.netflix.servo.monitor.NumericMonitorWrapper].<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.NumericMonitor)"
    - Src: "com.netflix.servo.monitor.MonitorWrapper:32,1"
      Dst: "[com.netflix.servo.monitor.MonitorWrapper].<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.MonitorWrapper].<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorWrapper"
    linkageType: ""
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.tag.TagList"
    - "com.netflix.servo.monitor.Monitor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getConfig()"
    - "[com.netflix.servo.monitor.DynamicGauge].getConfig()"
    - "[com.netflix.servo.monitor.AbstractMonitor:com.netflix.servo.monitor.TimedInterface$TimedHandler].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    functionUses: 2
    ICount: 8
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorWrapper:42,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.monitor.MonitorWrapper:42,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.MonitorWrapper:42,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorWrapper].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorWrapper"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DurationTimer].getValue()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getValue()"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getValue()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    - "[com.netflix.servo.monitor.DynamicGauge].getValue()"
    - "[com.netflix.servo.monitor.StatsMonitor].getValue()"
    - "[com.netflix.servo.monitor.Monitor].getValue()"
    functionUses: 1
    ICount: 5
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorWrapper:51,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorWrapper].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.MonitorWrapper"
    linkageType: ""
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicInformational].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsMonitor].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleGauge].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DurationTimer].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BucketTimer].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicCounter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MinGauge].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicTimer].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.LongGauge].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MaxGauge].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AnnotatedStringMonitor].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.BasicGauge].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.NumberGauge].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.PeakRateCounter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StepCounter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleCounter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorWrapper].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StatsTimer].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    functionUses: 40
    ICount: 19
    EdgeCount: 26
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.MonitorWrapper:59"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MonitorWrapper:60"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MonitorWrapper:59"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.MonitorWrapper:59"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MonitorWrapper:62"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.MonitorWrapper:61"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.MonitorWrapper:63"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MonitorWrapper:61"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.MonitorWrapper:63"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.MonitorWrapper:61"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "getConfig()"
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorWrapper:63,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.MonitorWrapper:63,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.MonitorWrapper:63,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.MonitorWrapper].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.MonitorWrapper"
    linkageType: ""
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor:java.lang.Object].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.netflix.servo.monitor.DoubleCounter].hashCode()"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].hashCode()"
    - "[com.netflix.servo.monitor.DoubleGauge].hashCode()"
    - "[com.netflix.servo.monitor.StatsMonitor].hashCode()"
    - "[com.netflix.servo.monitor.BasicTimer].hashCode()"
    - "[com.netflix.servo.monitor.BucketTimer].hashCode()"
    - "[com.netflix.servo.monitor.MonitorWrapper].hashCode()"
    - "[com.netflix.servo.monitor.PeakRateCounter].hashCode()"
    - "[com.netflix.servo.monitor.LongGauge].hashCode()"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].hashCode()"
    - "[com.netflix.servo.monitor.BasicGauge].hashCode()"
    - "[com.netflix.servo.monitor.NumberGauge].hashCode()"
    - "[com.netflix.servo.monitor.AnnotatedStringMonitor].hashCode()"
    - "[com.netflix.servo.monitor.BasicCounter].hashCode()"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].hashCode()"
    - "[com.netflix.servo.monitor.MinGauge].hashCode()"
    - "[com.netflix.servo.monitor.DurationTimer].hashCode()"
    - "[com.netflix.servo.monitor.BasicInformational].hashCode()"
    - "[com.netflix.servo.monitor.MaxGauge].hashCode()"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].hashCode()"
    - "[com.netflix.servo.monitor.StepCounter].hashCode()"
    - "[com.netflix.servo.monitor.StatsTimer].hashCode()"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].hashCode()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[java.lang.Object].hashCode()"
    functionUses: 40
    ICount: 8
    EdgeCount: 25
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorWrapper:71,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.MonitorWrapper:71,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.MonitorWrapper:72,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MonitorWrapper].toString()"
    functionSourceFile: "com.netflix.servo.monitor.MonitorWrapper"
    linkageType: ""
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 39
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MonitorWrapper:81,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.MonitorWrapper:81,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.MonitorWrapper:81,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.MonitorWrapper:81,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.MonitorWrapper:81,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$VarianceGaugeWrapper].update(com.netflix.servo.stats.StatsBuffer)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$VarianceGaugeWrapper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.stats.StatsBuffer].getVariance()"
    - "[java.lang.Double].valueOf(double)"
    - "[com.netflix.servo.monitor.DoubleGauge].set(java.lang.Double)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$VarianceGaugeWrapper:217,1"
      Dst: "[com.netflix.servo.stats.StatsBuffer].getVariance()"
    - Src: "com.netflix.servo.monitor.StatsMonitor$VarianceGaugeWrapper:217,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$VarianceGaugeWrapper:217,1"
      Dst: "[com.netflix.servo.monitor.DoubleGauge].set(java.lang.Double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsBuffer].getVariance()"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext].<init>()"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:57,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext].setRegistry(com.netflix.spectator.api.Registry)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.spectator.api.Registry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext].isGlobal(com.netflix.spectator.api.Registry)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getName()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.IllegalStateException].<init>(java.lang.String,java.lang.Throwable)"
    - "[java.lang.Throwable].fillInStackTrace()"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 25
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.SpectatorContext:86"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext:87"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.SpectatorContext:86"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.SpectatorContext:86"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext:89"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.SpectatorContext:88"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.SpectatorContext:95"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext:99"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.SpectatorContext:98"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:86,1"
      Dst: "[com.netflix.servo.SpectatorContext].isGlobal(com.netflix.spectator.api.Registry)"
    - Src: "com.netflix.servo.SpectatorContext:90,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.SpectatorContext:90,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.SpectatorContext:91,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.SpectatorContext:91,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.netflix.servo.SpectatorContext:91,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.netflix.servo.SpectatorContext:91,1"
      Dst: "[java.lang.IllegalStateException].<init>(java.lang.String,java.lang.Throwable)"
    - Src: "com.netflix.servo.SpectatorContext:93,1"
      Dst: "[java.lang.Throwable].fillInStackTrace()"
    - Src: "com.netflix.servo.SpectatorContext:96,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.SpectatorContext].isGlobal(com.netflix.spectator.api.Registry)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.spectator.api.Registry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.Spectator].globalRegistry()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.SpectatorContext:103"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext:102"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:103,1"
      Dst: "[com.netflix.spectator.api.Spectator].globalRegistry()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.SpectatorContext].getRegistry()"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.spectator.api.Registry"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext].timer(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.netflix.servo.SpectatorContext$LazyTimer"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.SpectatorContext$LazyTimer].<init>(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:130,1"
      Dst: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.SpectatorContext:130,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyTimer].<init>(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyTimer].<init>(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.spectator.api.Registry"
    - "com.netflix.spectator.api.Id"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.Registry].clock()"
    - "[com.netflix.spectator.api.AbstractTimer].<init>(com.netflix.spectator.api.Clock)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyTimer:316,1"
      Dst: "[com.netflix.spectator.api.Registry].clock()"
    - Src: "com.netflix.servo.SpectatorContext$LazyTimer:316,1"
      Dst: "[com.netflix.spectator.api.AbstractTimer].<init>(com.netflix.spectator.api.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext].distributionSummary(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.netflix.servo.SpectatorContext$LazyDistributionSummary"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].<init>(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:135,1"
      Dst: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.SpectatorContext:135,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].<init>(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].<init>(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyDistributionSummary"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.spectator.api.Registry"
    - "com.netflix.spectator.api.Id"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:368,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext].register(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DoubleMaxGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.NumberGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.StatsMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BucketTimer].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.StepCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DoubleCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.LongGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DynamicGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DynamicTimer].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DoubleGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MaxGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicTimer].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.BasicCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.SpectatorMonitorWrapper].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DynamicCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.SpectatorContext].isEmptyComposite(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.SpectatorContext$ServoMeter].<init>(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.SpectatorContext$ServoMeter].id()"
    - "[com.netflix.spectator.api.patterns.PolledMeter].remove(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.patterns.PolledMeter].monitorMeter(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Meter)"
    - "[com.netflix.servo.SpectatorContext].monitorMonitonicValues(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.monitor.SpectatorMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionUses: 1
    ICount: 18
    EdgeCount: 26
    BranchProfiles:
    - Branch String: "com.netflix.servo.SpectatorContext:167"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext:169"
        BranchSideFuncs:
        - "initializeSpectator(com.netflix.servo.tag.TagList)"
      - BranchSide: "com.netflix.servo.SpectatorContext:168"
        BranchSideFuncs:
        - "isEmptyComposite(com.netflix.servo.monitor.Monitor)"
    - Branch String: "com.netflix.servo.SpectatorContext:169"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext:175"
        BranchSideFuncs:
        - "remove(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
        - "monitorMonitonicValues(com.netflix.servo.monitor.Monitor)"
        - "monitorMeter(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Meter)"
        - "id()"
        - "<init>(com.netflix.servo.monitor.Monitor)"
      - BranchSide: "com.netflix.servo.SpectatorContext:174"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:168,1"
      Dst: "[com.netflix.servo.monitor.SpectatorMonitor].initializeSpectator(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.SpectatorContext:169,1"
      Dst: "[com.netflix.servo.SpectatorContext].isEmptyComposite(com.netflix.servo.monitor.Monitor)"
    - Src: "com.netflix.servo.SpectatorContext:170,1"
      Dst: "[com.netflix.servo.SpectatorContext$ServoMeter].<init>(com.netflix.servo.monitor.Monitor)"
    - Src: "com.netflix.servo.SpectatorContext:171,1"
      Dst: "[com.netflix.servo.SpectatorContext$ServoMeter].id()"
    - Src: "com.netflix.servo.SpectatorContext:171,1"
      Dst: "[com.netflix.spectator.api.patterns.PolledMeter].remove(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    - Src: "com.netflix.servo.SpectatorContext:172,1"
      Dst: "[com.netflix.spectator.api.patterns.PolledMeter].monitorMeter(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Meter)"
    - Src: "com.netflix.servo.SpectatorContext:173,1"
      Dst: "[com.netflix.servo.SpectatorContext].monitorMonitonicValues(com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.SpectatorContext].isEmptyComposite(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].getMonitors()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].isEmpty()"
    - "[com.google.common.collect.SingletonImmutableList].isEmpty()"
    - "[sun.awt.util.IdentityArrayList].isEmpty()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].isEmpty()"
    - "[java.util.Vector].isEmpty()"
    - "[java.util.ArrayList].isEmpty()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].isEmpty()"
    - "[com.google.common.collect.Lists$Partition].isEmpty()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].isEmpty()"
    - "[java.util.concurrent.CopyOnWriteArrayList].isEmpty()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].isEmpty()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].isEmpty()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].isEmpty()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].isEmpty()"
    - "[com.google.common.collect.ImmutableAsList].isEmpty()"
    - "[com.google.common.collect.ForwardingCollection].isEmpty()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].isEmpty()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].isEmpty()"
    - "[java.util.AbstractCollection].isEmpty()"
    - "[java.util.List].isEmpty()"
    functionUses: 1
    ICount: 11
    EdgeCount: 20
    BranchProfiles:
    - Branch String: "com.netflix.servo.SpectatorContext:182"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext:182"
        BranchSideFuncs:
        - "isEmpty()"
        - "getMonitors()"
      - BranchSide: "com.netflix.servo.SpectatorContext:181"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.SpectatorContext:183"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext:181"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:183,1"
      Dst: "[com.netflix.servo.monitor.BasicCompositeMonitor].getMonitors()"
    - Src: "com.netflix.servo.SpectatorContext:183,1"
      Dst: "[java.util.List].isEmpty()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.SpectatorContext].monitorMonitonicValues(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getConfig()"
    - "[com.netflix.servo.monitor.DynamicGauge].getConfig()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getConfig()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.SpectatorContext].isCounter(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.DynamicCounter].getMonitors()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getMonitors()"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].getMonitors()"
    - "[com.netflix.servo.monitor.DynamicGauge].getMonitors()"
    - "[com.netflix.servo.monitor.BasicDistributionSummary].getMonitors()"
    - "[com.netflix.servo.monitor.DurationTimer].getMonitors()"
    - "[com.netflix.servo.monitor.BucketTimer].getMonitors()"
    - "[com.netflix.servo.monitor.DynamicTimer].getMonitors()"
    - "[com.netflix.servo.monitor.BasicTimer].getMonitors()"
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].getMonitors()"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getMonitors()"
    - "[com.netflix.servo.monitor.StatsMonitor].getMonitors()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[com.netflix.servo.SpectatorContext].monitorMonitonicValues(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.SpectatorContext$lambda_monitorMonitonicValues_1__15].bootstrap$()"
    - "[com.netflix.servo.SpectatorContext].polledGauge(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.spectator.api.patterns.PolledMeter$Builder].monitorMonotonicCounter(java.lang.Object,java.util.function.ToLongFunction)"
    - "[com.netflix.servo.monitor.CompositeMonitor].getMonitors()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    functionUses: 2
    ICount: 23
    EdgeCount: 186
    BranchProfiles:
    - Branch String: "com.netflix.servo.SpectatorContext:191"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext:202"
        BranchSideFuncs:
        - "isCounter(com.netflix.servo.monitor.MonitorConfig)"
      - BranchSide: "com.netflix.servo.SpectatorContext:201"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.SpectatorContext:192"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext:192"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "getMonitors()"
        - "next()"
      - BranchSide: "com.netflix.servo.SpectatorContext:191"
        BranchSideFuncs:
        - "isCounter(com.netflix.servo.monitor.MonitorConfig)"
    - Branch String: "com.netflix.servo.SpectatorContext:194"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext:197"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "getMonitors()"
        - "monitorMonitonicValues(com.netflix.servo.monitor.Monitor)"
        - "next()"
      - BranchSide: "com.netflix.servo.SpectatorContext:196"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.SpectatorContext:192"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext:202"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "getMonitors()"
        - "next()"
      - BranchSide: "com.netflix.servo.SpectatorContext:201"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:194,1"
      Dst: "[com.netflix.servo.monitor.CompositeMonitor].getMonitors()"
    - Src: "com.netflix.servo.SpectatorContext:194,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.SpectatorContext:194,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.SpectatorContext:194,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.SpectatorContext:195,1"
      Dst: "[com.netflix.servo.SpectatorContext].monitorMonitonicValues(com.netflix.servo.monitor.Monitor)"
    - Src: "com.netflix.servo.SpectatorContext:192,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.SpectatorContext:192,1"
      Dst: "[com.netflix.servo.SpectatorContext].isCounter(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.SpectatorContext:198,1"
      Dst: "[com.netflix.servo.SpectatorContext].polledGauge(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.SpectatorContext:198,1"
      Dst: "[com.netflix.servo.SpectatorContext$lambda_monitorMonitonicValues_1__15].bootstrap$()"
    - Src: "com.netflix.servo.SpectatorContext:199,1"
      Dst: "[com.netflix.spectator.api.patterns.PolledMeter$Builder].monitorMonotonicCounter(java.lang.Object,java.util.function.ToLongFunction)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[com.netflix.servo.SpectatorContext$lambda_monitorMonitonicValues_1__15].bootstrap$()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$lambda_monitorMonitonicValues_1__15"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.ToLongFunction"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$lambda_monitorMonitonicValues_1__15].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$lambda_monitorMonitonicValues_1__15:-1,1"
      Dst: "[com.netflix.servo.SpectatorContext$lambda_monitorMonitonicValues_1__15].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$lambda_monitorMonitonicValues_1__15].<init>()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$lambda_monitorMonitonicValues_1__15"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$lambda_monitorMonitonicValues_1__15:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext].unregister(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    - "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.spectator.api.patterns.PolledMeter].remove(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:206,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.SpectatorContext:206,1"
      Dst: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.SpectatorContext:206,1"
      Dst: "[com.netflix.spectator.api.patterns.PolledMeter].remove(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext].lambda$monitorMonitonicValues$1(com.netflix.servo.monitor.Monitor)"
    functionSourceFile: "com.netflix.servo.SpectatorContext"
    linkageType: ""
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionDepth: 0
    returnType: "long"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DurationTimer].getValue()"
    - "[com.netflix.servo.monitor.TimedInterface$TimedHandler].getValue()"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getValue()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    - "[com.netflix.servo.monitor.DynamicGauge].getValue()"
    - "[com.netflix.servo.monitor.StatsMonitor].getValue()"
    - "[java.lang.Integer].longValue()"
    - "[com.netflix.spectator.impl.AtomicDouble].longValue()"
    - "[java.util.concurrent.atomic.AtomicLong].longValue()"
    - "[com.google.common.cache.LongAdder].longValue()"
    - "[java.lang.Long].longValue()"
    - "[java.math.BigInteger].longValue()"
    - "[java.util.concurrent.atomic.AtomicInteger].longValue()"
    - "[com.google.common.primitives.UnsignedInteger].longValue()"
    - "[java.math.BigDecimal].longValue()"
    - "[java.lang.Double].longValue()"
    - "[java.util.concurrent.atomic.LongAdder].longValue()"
    - "[java.lang.Byte].longValue()"
    - "[java.lang.Float].longValue()"
    - "[com.google.common.util.concurrent.AtomicDouble].longValue()"
    - "[com.google.common.primitives.UnsignedLong].longValue()"
    - "[java.lang.Short].longValue()"
    - "[com.netflix.servo.monitor.Monitor].getValue()"
    - "[java.lang.Number].longValue()"
    functionUses: 1
    ICount: 5
    EdgeCount: 22
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext:199,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getValue()"
    - Src: "com.netflix.servo.SpectatorContext:199,1"
      Dst: "[java.lang.Number].longValue()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$MaxGaugeWrapper].update(com.netflix.servo.stats.StatsBuffer)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$MaxGaugeWrapper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.stats.StatsBuffer].getMax()"
    - "[java.lang.Long].valueOf(long)"
    - "[com.netflix.servo.monitor.LongGauge].set(java.lang.Long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$MaxGaugeWrapper:195,1"
      Dst: "[com.netflix.servo.stats.StatsBuffer].getMax()"
    - Src: "com.netflix.servo.monitor.StatsMonitor$MaxGaugeWrapper:195,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$MaxGaugeWrapper:195,1"
      Dst: "[com.netflix.servo.monitor.LongGauge].set(java.lang.Long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsBuffer].getMax()"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].setId(com.netflix.spectator.api.Id)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyDistributionSummary"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.spectator.api.Id"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].get()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyDistributionSummary"
    linkageType: ""
    functionLinenumber: 379
    functionLinenumberEnd: 386
    functionDepth: 0
    returnType: "com.netflix.spectator.api.DistributionSummary"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.AbstractRegistry].distributionSummary(com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.CompositeRegistry].distributionSummary(com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.NoopRegistry].distributionSummary(com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.ExtendedRegistry].distributionSummary(com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.Registry].distributionSummary(com.netflix.spectator.api.Id)"
    functionUses: 3
    ICount: 9
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:381"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:385"
        BranchSideFuncs:
        - "distributionSummary(com.netflix.spectator.api.Id)"
      - BranchSide: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:384"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:382,1"
      Dst: "[com.netflix.spectator.api.Registry].distributionSummary(com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].id()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyDistributionSummary"
    linkageType: ""
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionDepth: 1
    returnType: "com.netflix.spectator.api.Id"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].get()"
    - "[com.netflix.spectator.api.NoopDistributionSummary].id()"
    - "[com.netflix.spectator.api.CompositeMeter].id()"
    - "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].id()"
    - "[com.netflix.spectator.api.histogram.BucketDistributionSummary].id()"
    - "[com.netflix.spectator.impl.SwapMeter].id()"
    - "[com.netflix.spectator.api.DefaultDistributionSummary].id()"
    - "[com.netflix.spectator.api.histogram.BucketCounter].id()"
    - "[com.netflix.spectator.api.histogram.PercentileDistributionSummary].id()"
    - "[com.netflix.spectator.api.Meter].id()"
    functionUses: 5
    ICount: 4
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:389,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:389,1"
      Dst: "[com.netflix.spectator.api.Meter].id()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].measure()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyDistributionSummary"
    linkageType: ""
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionDepth: 1
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].get()"
    - "[com.netflix.spectator.api.CompositeMeter].measure()"
    - "[com.netflix.spectator.impl.SwapMeter].measure()"
    - "[com.netflix.spectator.api.DefaultDistributionSummary].measure()"
    - "[com.netflix.spectator.api.histogram.PercentileDistributionSummary].measure()"
    - "[com.netflix.spectator.api.NoopDistributionSummary].measure()"
    - "[com.netflix.spectator.api.histogram.BucketCounter].measure()"
    - "[com.netflix.spectator.api.histogram.BucketDistributionSummary].measure()"
    - "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].measure()"
    - "[com.netflix.spectator.api.Meter].measure()"
    functionUses: 4
    ICount: 4
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:393,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:393,1"
      Dst: "[com.netflix.spectator.api.Meter].measure()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].hasExpired()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyDistributionSummary"
    linkageType: ""
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].get()"
    - "[com.netflix.spectator.impl.SwapMeter].hasExpired()"
    - "[com.netflix.spectator.api.histogram.PercentileDistributionSummary].hasExpired()"
    - "[com.netflix.spectator.api.NoopDistributionSummary].hasExpired()"
    - "[com.netflix.spectator.api.CompositeMeter].hasExpired()"
    - "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].hasExpired()"
    - "[com.netflix.spectator.api.histogram.BucketCounter].hasExpired()"
    - "[com.netflix.spectator.api.DefaultDistributionSummary].hasExpired()"
    - "[com.netflix.spectator.api.histogram.BucketDistributionSummary].hasExpired()"
    - "[com.netflix.spectator.api.Meter].hasExpired()"
    functionUses: 5
    ICount: 4
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:397,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:397,1"
      Dst: "[com.netflix.spectator.api.Meter].hasExpired()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].record(long)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyDistributionSummary"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].get()"
    - "[com.netflix.spectator.api.DistributionSummary].record(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:401,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:401,1"
      Dst: "[com.netflix.spectator.api.DistributionSummary].record(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].count()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyDistributionSummary"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].get()"
    - "[com.netflix.spectator.api.DistributionSummary].count()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:405,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:405,1"
      Dst: "[com.netflix.spectator.api.DistributionSummary].count()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].totalAmount()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyDistributionSummary"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].get()"
    - "[com.netflix.spectator.api.DistributionSummary].totalAmount()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:409,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyDistributionSummary].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyDistributionSummary:409,1"
      Dst: "[com.netflix.spectator.api.DistributionSummary].totalAmount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.BasicMonitorRegistry].<init>()"
    functionSourceFile: "com.netflix.servo.BasicMonitorRegistry"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.HashSet].<init>()"
    - "[java.util.Collections].synchronizedSet(java.util.Set)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.BasicMonitorRegistry:37,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.BasicMonitorRegistry:38,1"
      Dst: "[java.util.HashSet].<init>()"
    - Src: "com.netflix.servo.BasicMonitorRegistry:38,1"
      Dst: "[java.util.Collections].synchronizedSet(java.util.Set)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.BasicMonitorRegistry].getRegisteredMonitors()"
    functionSourceFile: "com.netflix.servo.BasicMonitorRegistry"
    linkageType: ""
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionDepth: 0
    returnType: "java.util.Collection"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.UnmodifiableList].copyOf(java.lang.Iterable)"
    functionUses: 2
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.BasicMonitorRegistry:46,1"
      Dst: "[com.netflix.servo.util.UnmodifiableList].copyOf(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.BasicMonitorRegistry].register(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.BasicMonitorRegistry"
    linkageType: ""
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[com.google.common.collect.ImmutableCollection].add(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].add(java.lang.Object)"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].add(java.lang.Object)"
    - "[com.google.common.collect.Maps$3].add(java.lang.Object)"
    - "[com.google.common.collect.Maps$4].add(java.lang.Object)"
    - "[com.google.common.collect.Maps$5].add(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].add(java.lang.Object)"
    - "[com.google.common.collect.Collections2$FilteredCollection].add(java.lang.Object)"
    - "[com.google.common.collect.Constraints$ConstrainedSet].add(java.lang.Object)"
    - "[com.google.common.collect.ForwardingCollection].add(java.lang.Object)"
    - "[com.google.common.collect.FilteredKeyMultimap$AddRejectingSet].add(java.lang.Object)"
    - "[com.google.common.collect.Constraints$ConstrainedSortedSet].add(java.lang.Object)"
    - "[java.util.AbstractCollection:java.util.HashSet:java.util.TreeSet:java.util.concurrent.ConcurrentHashMap$EntrySetView:java.util.concurrent.ConcurrentHashMap$KeySetView:java.util.concurrent.CopyOnWriteArraySet].add(java.lang.Object)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String,java.lang.Throwable)"
    - "[java.util.Set].add(java.lang.Object)"
    functionUses: 6
    ICount: 11
    EdgeCount: 15
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.BasicMonitorRegistry:54,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.BasicMonitorRegistry:56,1"
      Dst: "[java.util.Set].add(java.lang.Object)"
    - Src: "com.netflix.servo.BasicMonitorRegistry:58,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.BasicMonitorRegistry].unregister(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.BasicMonitorRegistry"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[java.util.Set].remove(java.lang.Object)"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String,java.lang.Throwable)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.BasicMonitorRegistry:67,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.BasicMonitorRegistry:69,1"
      Dst: "[java.util.Set].remove(java.lang.Object)"
    - Src: "com.netflix.servo.BasicMonitorRegistry:71,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.BasicMonitorRegistry].isRegistered(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.BasicMonitorRegistry"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Set].contains(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.BasicMonitorRegistry:77,1"
      Dst: "[java.util.Set].contains(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicCounter].<init>()"
    functionSourceFile: "com.netflix.servo.monitor.DynamicCounter"
    linkageType: ""
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - "[java.lang.Long].parseLong(java.lang.String)"
    - "[java.util.concurrent.TimeUnit].valueOf(java.lang.String)"
    - "[com.netflix.servo.NoopMonitorRegistry:java.util.concurrent.TimeUnit].toMillis(long)"
    - "[com.netflix.servo.util.ExpiringCache].<init>(long,java.util.function.Function)"
    - "[com.netflix.servo.monitor.DynamicCounter$init__6].bootstrap$()"
    - "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    - "[com.netflix.servo.jmx.JmxMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.DefaultMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.BasicMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[java.util.concurrent.TimeUnit].toMillis(long)"
    - "[com.netflix.servo.MonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    functionUses: 1
    ICount: 17
    EdgeCount: 12
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicCounter:48,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:49,1"
      Dst: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:52,1"
      Dst: "[java.lang.Long].parseLong(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:53,1"
      Dst: "[java.util.concurrent.TimeUnit].valueOf(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:54,1"
      Dst: "[java.util.concurrent.TimeUnit].toMillis(long)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:55,1"
      Dst: "[com.netflix.servo.monitor.DynamicCounter$init__6].bootstrap$()"
    - Src: "com.netflix.servo.monitor.DynamicCounter:55,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].<init>(long,java.util.function.Function)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:56,1"
      Dst: "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    - Src: "com.netflix.servo.monitor.DynamicCounter:56,1"
      Dst: "[com.netflix.servo.MonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicCounter"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicCounter].increment(com.netflix.servo.monitor.MonitorConfig,long)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicCounter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DynamicCounter].get(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.Counter].increment(long)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicCounter:102,1"
      Dst: "[com.netflix.servo.monitor.DynamicCounter].get(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:102,1"
      Dst: "[com.netflix.servo.monitor.Counter].increment(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicCounter].increment(java.lang.String,com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicCounter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.DynamicCounter].increment(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicCounter:109,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].<init>(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:109,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:109,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.monitor.DynamicCounter:110,1"
      Dst: "[com.netflix.servo.monitor.DynamicCounter].increment(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicCounter].increment(java.lang.String,com.netflix.servo.tag.TagList,long)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicCounter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.tag.TagList"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.DynamicCounter].increment(com.netflix.servo.monitor.MonitorConfig,long)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicCounter:117,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:117,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:117,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.monitor.DynamicCounter:118,1"
      Dst: "[com.netflix.servo.monitor.DynamicCounter].increment(com.netflix.servo.monitor.MonitorConfig,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicCounter].getMonitors()"
    functionSourceFile: "com.netflix.servo.monitor.DynamicCounter"
    linkageType: ""
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionDepth: 3
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache].values()"
    functionUses: 5
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicCounter:127,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].values()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicCounter].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicCounter"
    linkageType: ""
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionDepth: 1
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache].size()"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 2
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicCounter:136,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].size()"
    - Src: "com.netflix.servo.monitor.DynamicCounter:136,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicCounter].toString()"
    functionSourceFile: "com.netflix.servo.monitor.DynamicCounter"
    linkageType: ""
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(int)"
    - "[com.netflix.servo.util.ExpiringCache].size()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 39
    ICount: 16
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicCounter:144,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.DynamicCounter:144,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:144,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:145,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].size()"
    - Src: "com.netflix.servo.monitor.DynamicCounter:145,1"
      Dst: "[java.lang.StringBuilder].append(int)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:145,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.DynamicCounter:145,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.ResettableCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.ResettableCounter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.ResettableCounter:32,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.ResettableCounter].<init>(com.netflix.servo.monitor.MonitorConfig,long)"
    functionSourceFile: "com.netflix.servo.monitor.ResettableCounter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.ResettableCounter:43,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$lambda_monitorMonitonicValues_1__15].applyAsLong(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$lambda_monitorMonitonicValues_1__15"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext].lambda$monitorMonitonicValues$1(com.netflix.servo.monitor.Monitor)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$lambda_monitorMonitonicValues_1__15:-1,1"
      Dst: "[com.netflix.servo.SpectatorContext].lambda$monitorMonitonicValues$1(com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicGauge].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.Callable)"
    functionSourceFile: "com.netflix.servo.monitor.BasicGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "java.util.concurrent.Callable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicGauge:41,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.BasicGauge:41,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.BasicGauge"
    linkageType: ""
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BasicGauge$lambda_initializeSpectator_0__23].bootstrap$()"
    - "[com.netflix.servo.SpectatorContext].polledGauge(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.spectator.api.patterns.PolledMeter$Builder].monitorValue(java.lang.Object,java.util.function.ToDoubleFunction)"
    functionUses: 6
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicGauge:63,1"
      Dst: "[com.netflix.servo.SpectatorContext].polledGauge(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.BasicGauge:63,1"
      Dst: "[com.netflix.servo.monitor.BasicGauge$lambda_initializeSpectator_0__23].bootstrap$()"
    - Src: "com.netflix.servo.monitor.BasicGauge:64,1"
      Dst: "[com.netflix.spectator.api.patterns.PolledMeter$Builder].monitorValue(java.lang.Object,java.util.function.ToDoubleFunction)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicGauge].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.BasicGauge"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[java.lang.Object].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    functionUses: 40
    ICount: 19
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BasicGauge:72"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicGauge:73"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicGauge:72"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicGauge:72"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicGauge:75"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicGauge:74"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.BasicGauge:76"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicGauge:74"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.BasicGauge:76"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicGauge:74"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
        - "getConfig()"
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicGauge:76,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.BasicGauge:76,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BasicGauge:76,1"
      Dst: "[java.lang.Object].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.BasicGauge].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.BasicGauge"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[java.lang.Object].hashCode()"
    functionUses: 40
    ICount: 8
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicGauge:84,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.BasicGauge:85,1"
      Dst: "[java.lang.Object].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicGauge].toString()"
    functionSourceFile: "com.netflix.servo.monitor.BasicGauge"
    linkageType: ""
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 39
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicGauge:94,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.BasicGauge:94,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.BasicGauge:94,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BasicGauge:94,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.BasicGauge:94,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller$lambda_addDetailedThreadMetrics_0__62].bootstrap$()"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller$lambda_addDetailedThreadMetrics_0__62"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.Comparator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.JvmMetricPoller$lambda_addDetailedThreadMetrics_0__62].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller$lambda_addDetailedThreadMetrics_0__62:-1,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller$lambda_addDetailedThreadMetrics_0__62].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller$lambda_addDetailedThreadMetrics_0__62].<init>()"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller$lambda_addDetailedThreadMetrics_0__62"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller$lambda_addDetailedThreadMetrics_0__62:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller$lambda_addDetailedThreadMetrics_0__62].compare(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller$lambda_addDetailedThreadMetrics_0__62"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.JvmMetricPoller].lambda$addDetailedThreadMetrics$0(java.lang.management.ThreadInfo,java.lang.management.ThreadInfo)"
    functionUses: 3
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller$lambda_addDetailedThreadMetrics_0__62:-1,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller].lambda$addDetailedThreadMetrics$0(java.lang.management.ThreadInfo,java.lang.management.ThreadInfo)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller].lambda$addDetailedThreadMetrics$0(java.lang.management.ThreadInfo,java.lang.management.ThreadInfo)"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller"
    linkageType: ""
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.management.ThreadInfo"
    - "java.lang.management.ThreadInfo"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.management.ThreadInfo].getThreadId()"
    functionUses: 1
    ICount: 16
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.JvmMetricPoller:358"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:356"
        BranchSideFuncs:
        - "getThreadId()"
    - Branch String: "com.netflix.servo.publish.JvmMetricPoller:358"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:356"
        BranchSideFuncs:
        - "getThreadId()"
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller:357,1"
      Dst: "[java.lang.management.ThreadInfo].getThreadId()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.monitor.Monitors].<init>()"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:76,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].newTimer(java.lang.String)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 11
    returnType: "com.netflix.servo.monitor.Timer"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitors].newTimer(java.lang.String,java.util.concurrent.TimeUnit)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:83,1"
      Dst: "[com.netflix.servo.monitor.Monitors].newTimer(java.lang.String,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].newTimer(java.lang.String,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 10
    returnType: "com.netflix.servo.monitor.Timer"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.BasicTimer].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:98,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.monitor.Monitors:98,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.monitor.Monitors:98,1"
      Dst: "[com.netflix.servo.monitor.BasicTimer].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].newTimer(java.lang.String,com.netflix.servo.tag.TaggingContext)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 7
    returnType: "com.netflix.servo.monitor.Timer"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.tag.TaggingContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitors].newTimer(java.lang.String,java.util.concurrent.TimeUnit,com.netflix.servo.tag.TaggingContext)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:91,1"
      Dst: "[com.netflix.servo.monitor.Monitors].newTimer(java.lang.String,java.util.concurrent.TimeUnit,com.netflix.servo.tag.TaggingContext)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].newTimer(java.lang.String,java.util.concurrent.TimeUnit,com.netflix.servo.tag.TaggingContext)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "com.netflix.servo.monitor.Timer"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.util.concurrent.TimeUnit"
    - "com.netflix.servo.tag.TaggingContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.Monitors$TimerFactory].<init>(java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.monitor.ContextualTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.tag.TaggingContext,com.google.common.base.Function)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:106,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.monitor.Monitors:106,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.monitor.Monitors:107,1"
      Dst: "[com.netflix.servo.monitor.Monitors$TimerFactory].<init>(java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.monitor.Monitors:107,1"
      Dst: "[com.netflix.servo.monitor.ContextualTimer].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.tag.TaggingContext,com.google.common.base.Function)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].newCounter(java.lang.String)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionDepth: 8
    returnType: "com.netflix.servo.monitor.Counter"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BasicCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:114,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.monitor.Monitors:114,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.monitor.Monitors:114,1"
      Dst: "[com.netflix.servo.monitor.BasicCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].newCounter(java.lang.String,com.netflix.servo.tag.TaggingContext)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 6
    returnType: "com.netflix.servo.monitor.Counter"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.tag.TaggingContext"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.monitor.ContextualCounter].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.tag.TaggingContext,com.google.common.base.Function)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:122,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.monitor.Monitors:122,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - Src: "com.netflix.servo.monitor.Monitors:123,1"
      Dst: "[com.netflix.servo.monitor.ContextualCounter].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.tag.TaggingContext,com.google.common.base.Function)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].newObjectMonitor(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.netflix.servo.monitor.CompositeMonitor<?>"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitors].newObjectMonitor(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:131,1"
      Dst: "[com.netflix.servo.monitor.Monitors].newObjectMonitor(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].newObjectMonitor(java.lang.String,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionDepth: 3
    returnType: "com.netflix.servo.monitor.CompositeMonitor<?>"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitors].getMonitorTags(java.lang.Object)"
    - "[java.util.ArrayList].<init>()"
    - "[com.netflix.servo.monitor.Monitors].addMonitors(java.util.List,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    - "[java.lang.Object].getClass()"
    - "[com.netflix.servo.monitor.BasicCompositeMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.List)"
    - "[com.netflix.servo.monitor.Monitors].newObjectConfig(java.lang.Class,java.lang.String,com.netflix.servo.tag.TagList)"
    functionUses: 1
    ICount: 15
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.Monitors:156"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:150"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.monitor.MonitorConfig,java.util.List)"
        - "newObjectConfig(java.lang.Class,java.lang.String,com.netflix.servo.tag.TagList)"
      - BranchSide: "com.netflix.servo.monitor.Monitors:149"
        BranchSideFuncs:
        - "<init>()"
        - "addMonitors(java.util.List,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
        - "getClass()"
        - "getMonitorTags(java.lang.Object)"
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:150,1"
      Dst: "[com.netflix.servo.monitor.Monitors].getMonitorTags(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.Monitors:152,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.netflix.servo.monitor.Monitors:153,1"
      Dst: "[com.netflix.servo.monitor.Monitors].addMonitors(java.util.List,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    - Src: "com.netflix.servo.monitor.Monitors:155,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.monitor.Monitors:157,1"
      Dst: "[com.netflix.servo.monitor.Monitors].newObjectConfig(java.lang.Class,java.lang.String,com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.Monitors:157,1"
      Dst: "[com.netflix.servo.monitor.BasicCompositeMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.Monitors].getMonitorTags(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: 339
    functionLinenumberEnd: 356
    functionDepth: 2
    returnType: "com.netflix.servo.tag.TagList"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[com.netflix.servo.util.Reflection].getFieldsAnnotatedBy(java.lang.Class,java.lang.Class)"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[java.lang.reflect.Field].setAccessible(boolean)"
    - "[java.lang.reflect.Field].get(java.lang.Object)"
    - "[com.netflix.servo.util.Reflection].getMethodsAnnotatedBy(java.lang.Class,java.lang.Class)"
    - "[java.lang.reflect.Method].setAccessible(boolean)"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    functionUses: 1
    ICount: 29
    EdgeCount: 473
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.Monitors:341"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:346"
        BranchSideFuncs:
        - "get(java.lang.Object)"
      - BranchSide: "com.netflix.servo.monitor.Monitors:345"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "getClass()"
        - "getMethodsAnnotatedBy(java.lang.Class,java.lang.Class)"
    - Branch String: "com.netflix.servo.monitor.Monitors:347"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:353"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "setAccessible(boolean)"
        - "invoke(java.lang.Object,java.lang.Object[])"
        - "next()"
      - BranchSide: "com.netflix.servo.monitor.Monitors:352"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:340,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.monitor.Monitors:340,1"
      Dst: "[com.netflix.servo.util.Reflection].getFieldsAnnotatedBy(java.lang.Class,java.lang.Class)"
    - Src: "com.netflix.servo.monitor.Monitors:341,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.netflix.servo.monitor.Monitors:341,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.monitor.Monitors:341,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.monitor.Monitors:342,1"
      Dst: "[java.lang.reflect.Field].setAccessible(boolean)"
    - Src: "com.netflix.servo.monitor.Monitors:343,1"
      Dst: "[java.lang.reflect.Field].get(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.Monitors:346,1"
      Dst: "[com.netflix.servo.util.Reflection].getMethodsAnnotatedBy(java.lang.Class,java.lang.Class)"
    - Src: "com.netflix.servo.monitor.Monitors:348,1"
      Dst: "[java.lang.reflect.Method].setAccessible(boolean)"
    - Src: "com.netflix.servo.monitor.Monitors:349,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "com.netflix.servo.monitor.Monitors:352,1"
      Dst: "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].newThreadPoolMonitor(java.lang.String,java.util.concurrent.ThreadPoolExecutor)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.netflix.servo.monitor.CompositeMonitor<?>"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.util.concurrent.ThreadPoolExecutor"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitoredThreadPool].<init>(java.util.concurrent.ThreadPoolExecutor)"
    - "[com.netflix.servo.monitor.Monitors].newObjectMonitor(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:169,1"
      Dst: "[com.netflix.servo.monitor.MonitoredThreadPool].<init>(java.util.concurrent.ThreadPoolExecutor)"
    - Src: "com.netflix.servo.monitor.Monitors:169,1"
      Dst: "[com.netflix.servo.monitor.Monitors].newObjectMonitor(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].newCacheMonitor(java.lang.String,com.google.common.cache.Cache<?,?>)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionDepth: 4
    returnType: "com.netflix.servo.monitor.CompositeMonitor<?>"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "com.google.common.cache.Cache<?,?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitoredCache].<init>(com.google.common.cache.Cache)"
    - "[com.netflix.servo.monitor.Monitors].newObjectMonitor(java.lang.String,java.lang.Object)"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:180,1"
      Dst: "[com.netflix.servo.monitor.MonitoredCache].<init>(com.google.common.cache.Cache)"
    - Src: "com.netflix.servo.monitor.Monitors:180,1"
      Dst: "[com.netflix.servo.monitor.Monitors].newObjectMonitor(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].registerObject(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitors].registerObject(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:188,1"
      Dst: "[com.netflix.servo.monitor.Monitors].registerObject(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].registerObject(java.lang.String,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    - "[com.netflix.servo.monitor.Monitors].newObjectMonitor(java.lang.String,java.lang.Object)"
    - "[com.netflix.servo.MonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:216,1"
      Dst: "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    - Src: "com.netflix.servo.monitor.Monitors:216,1"
      Dst: "[com.netflix.servo.monitor.Monitors].newObjectMonitor(java.lang.String,java.lang.Object)"
    - Src: "com.netflix.servo.monitor.Monitors:216,1"
      Dst: "[com.netflix.servo.MonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].unregisterObject(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitors].unregisterObject(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:198,1"
      Dst: "[com.netflix.servo.monitor.Monitors].unregisterObject(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].unregisterObject(java.lang.String,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    - "[com.netflix.servo.monitor.Monitors].newObjectMonitor(java.lang.String,java.lang.Object)"
    - "[com.netflix.servo.MonitorRegistry].unregister(com.netflix.servo.monitor.Monitor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:208,1"
      Dst: "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    - Src: "com.netflix.servo.monitor.Monitors:208,1"
      Dst: "[com.netflix.servo.monitor.Monitors].newObjectMonitor(java.lang.String,java.lang.Object)"
    - Src: "com.netflix.servo.monitor.Monitors:208,1"
      Dst: "[com.netflix.servo.MonitorRegistry].unregister(com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].isObjectRegistered(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitors].isObjectRegistered(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:223,1"
      Dst: "[com.netflix.servo.monitor.Monitors].isObjectRegistered(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].isObjectRegistered(java.lang.String,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    - "[com.netflix.servo.monitor.Monitors].newObjectMonitor(java.lang.String,java.lang.Object)"
    - "[com.netflix.servo.MonitorRegistry].isRegistered(com.netflix.servo.monitor.Monitor)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:230,1"
      Dst: "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    - Src: "com.netflix.servo.monitor.Monitors:230,1"
      Dst: "[com.netflix.servo.monitor.Monitors].newObjectMonitor(java.lang.String,java.lang.Object)"
    - Src: "com.netflix.servo.monitor.Monitors:230,1"
      Dst: "[com.netflix.servo.MonitorRegistry].isRegistered(com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].wrap(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor<T>)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionDepth: 8
    returnType: "com.netflix.servo.monitor.Monitor<T>"
    argCount: 2
    argTypes:
    - "com.netflix.servo.tag.TagList"
    - "com.netflix.servo.monitor.Monitor<T>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.CompositeMonitorWrapper].<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.CompositeMonitor)"
    - "[com.netflix.servo.monitor.MonitorWrapper].create(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    functionUses: 2
    ICount: 11
    EdgeCount: 2
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.Monitors:240"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:243"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.CompositeMonitor)"
      - BranchSide: "com.netflix.servo.monitor.Monitors:242"
        BranchSideFuncs:
        - "create(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:241,1"
      Dst: "[com.netflix.servo.monitor.CompositeMonitorWrapper].<init>(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.CompositeMonitor)"
    - Src: "com.netflix.servo.monitor.Monitors:243,1"
      Dst: "[com.netflix.servo.monitor.MonitorWrapper].create(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.Monitors].addMonitors(java.util.List<Monitor<?>>,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.util.List<Monitor<?>>"
    - "java.lang.String"
    - "com.netflix.servo.tag.TagList"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitors].addMonitorFields(java.util.List,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    - "[com.netflix.servo.monitor.Monitors].addAnnotatedFields(java.util.List,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:252,1"
      Dst: "[com.netflix.servo.monitor.Monitors].addMonitorFields(java.util.List,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    - Src: "com.netflix.servo.monitor.Monitors:253,1"
      Dst: "[com.netflix.servo.monitor.Monitors].addAnnotatedFields(java.util.List,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].addMonitorFields(java.util.List<Monitor<?>>,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: 262
    functionLinenumberEnd: 291
    functionDepth: 7
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.util.List<Monitor<?>>"
    - "java.lang.String"
    - "com.netflix.servo.tag.TagList"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.SortedTagList].builder()"
    - "[com.netflix.servo.monitor.Monitors].className(java.lang.Class)"
    - "[java.lang.Object].getClass()"
    - "[com.netflix.servo.tag.SortedTagList$Builder].withTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.tag.SortedTagList$Builder].withTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.tag.SortedTagList$Builder].build()"
    - "[com.netflix.servo.util.Reflection].getAllFields(java.lang.Class)"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[java.lang.reflect.Field].getType()"
    - "[com.netflix.servo.monitor.Monitors].isMonitorType(java.lang.Class)"
    - "[java.lang.reflect.Field].setAccessible(boolean)"
    - "[java.lang.reflect.Field].get(java.lang.Object)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.reflect.Field].getName()"
    - "[java.lang.NullPointerException].<init>(java.lang.String)"
    - "[java.lang.reflect.Field].getDeclaringClass()"
    - "[java.lang.Class].getName()"
    - "[java.lang.StringBuilder].toString()"
    - "[com.google.common.collect.ImmutableCollection].add(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].add(java.lang.Object)"
    - "[sun.awt.util.IdentityArrayList].add(java.lang.Object)"
    - "[javax.management.AttributeList].add(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].add(java.lang.Object)"
    - "[java.util.AbstractList].add(java.lang.Object)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[com.google.common.collect.ForwardingCollection].add(java.lang.Object)"
    - "[java.util.Vector].add(java.lang.Object)"
    - "[java.util.LinkedList].add(java.lang.Object)"
    - "[com.google.common.collect.FilteredKeyMultimap$AddRejectingList].add(java.lang.Object)"
    - "[com.google.common.collect.Constraints$ConstrainedList].add(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArrayList].add(java.lang.Object)"
    - "[com.netflix.servo.monitor.Monitors].wrap(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 49
    EdgeCount: 271
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.Monitors:265"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:268"
        BranchSideFuncs:
        - "withTags(com.netflix.servo.tag.TagList)"
      - BranchSide: "com.netflix.servo.monitor.Monitors:267"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.Monitors:268"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:271"
        BranchSideFuncs:
        - "withTag(java.lang.String,java.lang.String)"
      - BranchSide: "com.netflix.servo.monitor.Monitors:270"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "build()"
        - "getClass()"
        - "iterator()"
        - "getAllFields(java.lang.Class)"
    - Branch String: "com.netflix.servo.monitor.Monitors:274"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:289"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "iterator()"
        - "getType()"
        - "isMonitorType(java.lang.Class)"
      - BranchSide: "com.netflix.servo.monitor.Monitors:288"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.Monitors:275"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:286"
        BranchSideFuncs:
        - "setAccessible(boolean)"
        - "get(java.lang.Object)"
      - BranchSide: "com.netflix.servo.monitor.Monitors:285"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.Monitors:278"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:284"
        BranchSideFuncs:
        - "append(java.lang.String)"
        - "toString()"
        - "<init>()"
        - "getName()"
        - "getDeclaringClass()"
        - "<init>(java.lang.String)"
      - BranchSide: "com.netflix.servo.monitor.Monitors:283"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "wrap(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:263,1"
      Dst: "[com.netflix.servo.tag.SortedTagList].builder()"
    - Src: "com.netflix.servo.monitor.Monitors:264,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.monitor.Monitors:264,1"
      Dst: "[com.netflix.servo.monitor.Monitors].className(java.lang.Class)"
    - Src: "com.netflix.servo.monitor.Monitors:264,1"
      Dst: "[com.netflix.servo.tag.SortedTagList$Builder].withTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.monitor.Monitors:266,1"
      Dst: "[com.netflix.servo.tag.SortedTagList$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.Monitors:271,1"
      Dst: "[com.netflix.servo.tag.SortedTagList$Builder].build()"
    - Src: "com.netflix.servo.monitor.Monitors:273,1"
      Dst: "[com.netflix.servo.util.Reflection].getAllFields(java.lang.Class)"
    - Src: "com.netflix.servo.monitor.Monitors:274,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.netflix.servo.monitor.Monitors:274,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.monitor.Monitors:274,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.monitor.Monitors:275,1"
      Dst: "[java.lang.reflect.Field].getType()"
    - Src: "com.netflix.servo.monitor.Monitors:275,1"
      Dst: "[com.netflix.servo.monitor.Monitors].isMonitorType(java.lang.Class)"
    - Src: "com.netflix.servo.monitor.Monitors:276,1"
      Dst: "[java.lang.reflect.Field].setAccessible(boolean)"
    - Src: "com.netflix.servo.monitor.Monitors:277,1"
      Dst: "[java.lang.reflect.Field].get(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.Monitors:279,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.Monitors:279,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.Monitors:279,1"
      Dst: "[java.lang.reflect.Field].getName()"
    - Src: "com.netflix.servo.monitor.Monitors:280,1"
      Dst: "[java.lang.reflect.Field].getDeclaringClass()"
    - Src: "com.netflix.servo.monitor.Monitors:280,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.netflix.servo.monitor.Monitors:280,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.netflix.servo.monitor.Monitors:280,1"
      Dst: "[java.lang.NullPointerException].<init>(java.lang.String)"
    - Src: "com.netflix.servo.monitor.Monitors:284,1"
      Dst: "[com.netflix.servo.monitor.Monitors].wrap(com.netflix.servo.tag.TagList,com.netflix.servo.monitor.Monitor)"
    - Src: "com.netflix.servo.monitor.Monitors:284,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.Monitors:288,1"
      Dst: "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 14
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.Monitors].className(java.lang.Class)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getSimpleName()"
    - "[com.netflix.servo.monitor.Monitors].className(java.lang.Class)"
    - "[java.lang.Class].getEnclosingClass()"
    - "[java.lang.String].isEmpty()"
    functionUses: 4
    ICount: 9
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.Monitors:410"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:407"
        BranchSideFuncs:
        - "isEmpty()"
        - "getEnclosingClass()"
        - "className(java.lang.Class)"
        - "getSimpleName()"
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:408,1"
      Dst: "[java.lang.Class].getSimpleName()"
    - Src: "com.netflix.servo.monitor.Monitors:410,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "com.netflix.servo.monitor.Monitors:410,1"
      Dst: "[java.lang.Class].getEnclosingClass()"
    - Src: "com.netflix.servo.monitor.Monitors:410,1"
      Dst: "[com.netflix.servo.monitor.Monitors].className(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.Monitors].addAnnotatedFields(java.util.List<Monitor<?>>,java.lang.String,com.netflix.servo.tag.TagList,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: 300
    functionLinenumberEnd: 334
    functionDepth: 7
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.util.List<Monitor<?>>"
    - "java.lang.String"
    - "com.netflix.servo.tag.TagList"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[com.netflix.servo.util.Reflection].getFieldsAnnotatedBy(java.lang.Class,java.lang.Class)"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[java.lang.reflect.Field].getAnnotation(java.lang.Class)"
    - "[java.lang.reflect.Field].getName()"
    - "[com.netflix.servo.monitor.Monitors].newConfig(java.lang.Class,java.lang.String,java.lang.String,com.netflix.servo.annotations.Monitor,com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.AnnotatedStringMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,java.lang.Object,java.lang.reflect.AccessibleObject)"
    - "[com.google.common.collect.ImmutableCollection].add(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].add(java.lang.Object)"
    - "[sun.awt.util.IdentityArrayList].add(java.lang.Object)"
    - "[javax.management.AttributeList].add(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].add(java.lang.Object)"
    - "[java.util.AbstractList].add(java.lang.Object)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[com.google.common.collect.ForwardingCollection].add(java.lang.Object)"
    - "[java.util.Vector].add(java.lang.Object)"
    - "[java.util.LinkedList].add(java.lang.Object)"
    - "[com.google.common.collect.FilteredKeyMultimap$AddRejectingList].add(java.lang.Object)"
    - "[com.google.common.collect.Constraints$ConstrainedList].add(java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArrayList].add(java.lang.Object)"
    - "[com.netflix.servo.monitor.Monitors].checkType(com.netflix.servo.annotations.Monitor,java.lang.Class,java.lang.Class)"
    - "[java.lang.reflect.Field].getDeclaringClass()"
    - "[java.lang.reflect.Field].getType()"
    - "[com.netflix.servo.monitor.AnnotatedNumberMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,java.lang.Object,java.lang.reflect.AccessibleObject)"
    - "[com.netflix.servo.util.Reflection].getMethodsAnnotatedBy(java.lang.Class,java.lang.Class)"
    - "[java.lang.reflect.Method].getAnnotation(java.lang.Class)"
    - "[java.lang.reflect.Method].getName()"
    - "[java.lang.reflect.Method].getDeclaringClass()"
    - "[java.lang.reflect.Method].getReturnType()"
    - "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.annotations.Monitor].type()"
    - "[java.util.List].add(java.lang.Object)"
    functionUses: 1
    ICount: 63
    EdgeCount: 539
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.Monitors:302"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:316"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.Monitors:315"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "getMethodsAnnotatedBy(java.lang.Class,java.lang.Class)"
        - "iterator()"
    - Branch String: "com.netflix.servo.monitor.Monitors:304"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:313"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.Monitors:307"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:310"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.Monitors:309"
        BranchSideFuncs:
        - "getType()"
    - Branch String: "com.netflix.servo.monitor.Monitors:317"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:332"
        BranchSideFuncs:
        - "hasNext()"
        - "next()"
        - "getAnnotation(java.lang.Class)"
        - "iterator()"
      - BranchSide: "com.netflix.servo.monitor.Monitors:331"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.Monitors:319"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:329"
        BranchSideFuncs:
        - "hasNext()"
        - "newConfig(java.lang.Class,java.lang.String,java.lang.String,com.netflix.servo.annotations.Monitor,com.netflix.servo.tag.TagList)"
        - "add(java.lang.Object)"
        - "checkType(com.netflix.servo.annotations.Monitor,java.lang.Class,java.lang.Class)"
        - "next()"
        - "getAnnotation(java.lang.Class)"
        - "getClass()"
        - "getMethodsAnnotatedBy(java.lang.Class,java.lang.Class)"
        - "iterator()"
        - "getName()"
        - "propagate(java.lang.Throwable)"
        - "getDeclaringClass()"
        - "<init>(com.netflix.servo.monitor.MonitorConfig,java.lang.Object,java.lang.reflect.AccessibleObject)"
        - "getReturnType()"
      - BranchSide: "com.netflix.servo.monitor.Monitors:328"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.Monitors:322"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:325"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.Monitors:324"
        BranchSideFuncs:
        - "add(java.lang.Object)"
        - "checkType(com.netflix.servo.annotations.Monitor,java.lang.Class,java.lang.Class)"
        - "getDeclaringClass()"
        - "<init>(com.netflix.servo.monitor.MonitorConfig,java.lang.Object,java.lang.reflect.AccessibleObject)"
        - "getReturnType()"
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:301,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.monitor.Monitors:301,1"
      Dst: "[com.netflix.servo.util.Reflection].getFieldsAnnotatedBy(java.lang.Class,java.lang.Class)"
    - Src: "com.netflix.servo.monitor.Monitors:302,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.netflix.servo.monitor.Monitors:302,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.monitor.Monitors:302,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.monitor.Monitors:303,1"
      Dst: "[java.lang.reflect.Field].getAnnotation(java.lang.Class)"
    - Src: "com.netflix.servo.monitor.Monitors:306,1"
      Dst: "[java.lang.reflect.Field].getName()"
    - Src: "com.netflix.servo.monitor.Monitors:306,1"
      Dst: "[com.netflix.servo.monitor.Monitors].newConfig(java.lang.Class,java.lang.String,java.lang.String,com.netflix.servo.annotations.Monitor,com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.Monitors:307,1"
      Dst: "[com.netflix.servo.annotations.Monitor].type()"
    - Src: "com.netflix.servo.monitor.Monitors:308,1"
      Dst: "[com.netflix.servo.monitor.AnnotatedStringMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,java.lang.Object,java.lang.reflect.AccessibleObject)"
    - Src: "com.netflix.servo.monitor.Monitors:308,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.Monitors:310,1"
      Dst: "[java.lang.reflect.Field].getType()"
    - Src: "com.netflix.servo.monitor.Monitors:310,1"
      Dst: "[java.lang.reflect.Field].getDeclaringClass()"
    - Src: "com.netflix.servo.monitor.Monitors:310,1"
      Dst: "[com.netflix.servo.monitor.Monitors].checkType(com.netflix.servo.annotations.Monitor,java.lang.Class,java.lang.Class)"
    - Src: "com.netflix.servo.monitor.Monitors:311,1"
      Dst: "[com.netflix.servo.monitor.AnnotatedNumberMonitor].<init>(com.netflix.servo.monitor.MonitorConfig,java.lang.Object,java.lang.reflect.AccessibleObject)"
    - Src: "com.netflix.servo.monitor.Monitors:316,1"
      Dst: "[com.netflix.servo.util.Reflection].getMethodsAnnotatedBy(java.lang.Class,java.lang.Class)"
    - Src: "com.netflix.servo.monitor.Monitors:318,1"
      Dst: "[java.lang.reflect.Method].getAnnotation(java.lang.Class)"
    - Src: "com.netflix.servo.monitor.Monitors:321,1"
      Dst: "[java.lang.reflect.Method].getName()"
    - Src: "com.netflix.servo.monitor.Monitors:325,1"
      Dst: "[java.lang.reflect.Method].getReturnType()"
    - Src: "com.netflix.servo.monitor.Monitors:325,1"
      Dst: "[java.lang.reflect.Method].getDeclaringClass()"
    - Src: "com.netflix.servo.monitor.Monitors:331,1"
      Dst: "[com.netflix.servo.util.Throwables].propagate(java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 17
    CyclomaticComplexity: 6
  - functionName: "[com.netflix.servo.monitor.Monitors].newConfig(java.lang.Class,java.lang.String,java.lang.String,com.netflix.servo.annotations.Monitor,com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: 421
    functionLinenumberEnd: 437
    functionDepth: 6
    returnType: "com.netflix.servo.monitor.MonitorConfig"
    argCount: 5
    argTypes:
    - "java.lang.Class"
    - "java.lang.String"
    - "java.lang.String"
    - "com.netflix.servo.annotations.Monitor"
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].isEmpty()"
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - "[com.netflix.servo.monitor.Monitors].className(java.lang.Class)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    - "[com.netflix.servo.annotations.Monitor].name()"
    - "[com.netflix.servo.annotations.Monitor].type()"
    - "[com.netflix.servo.annotations.Monitor].level()"
    functionUses: 2
    ICount: 23
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.Monitors:423"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:426"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.Monitors:425"
        BranchSideFuncs:
        - "builder(java.lang.String)"
        - "withTag(com.netflix.servo.tag.Tag)"
        - "className(java.lang.Class)"
    - Branch String: "com.netflix.servo.monitor.Monitors:430"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:433"
        BranchSideFuncs:
        - "withTags(com.netflix.servo.tag.TagList)"
      - BranchSide: "com.netflix.servo.monitor.Monitors:432"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.Monitors:433"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:436"
        BranchSideFuncs:
        - "withTag(java.lang.String,java.lang.String)"
      - BranchSide: "com.netflix.servo.monitor.Monitors:435"
        BranchSideFuncs:
        - "build()"
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:422,1"
      Dst: "[com.netflix.servo.annotations.Monitor].name()"
    - Src: "com.netflix.servo.monitor.Monitors:423,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "com.netflix.servo.monitor.Monitors:426,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.monitor.Monitors:427,1"
      Dst: "[com.netflix.servo.monitor.Monitors].className(java.lang.Class)"
    - Src: "com.netflix.servo.monitor.Monitors:427,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.monitor.Monitors:428,1"
      Dst: "[com.netflix.servo.annotations.Monitor].type()"
    - Src: "com.netflix.servo.monitor.Monitors:428,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.Monitors:429,1"
      Dst: "[com.netflix.servo.annotations.Monitor].level()"
    - Src: "com.netflix.servo.monitor.Monitors:431,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.Monitors:436,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.Monitors].checkType(com.netflix.servo.annotations.Monitor,java.lang.Class,java.lang.Class)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: 362
    functionLinenumberEnd: 370
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.annotations.Monitor"
    - "java.lang.Class"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitors].isNumericType(java.lang.Class)"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.Enum].name()"
    - "[java.lang.Class].getName()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    - "[com.netflix.servo.annotations.Monitor].type()"
    - "[com.netflix.servo.annotations.Monitor].name()"
    functionUses: 2
    ICount: 25
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.Monitors:363"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:369"
        BranchSideFuncs:
        - "name()"
        - "<init>()"
        - "getName()"
        - "append(java.lang.String)"
        - "toString()"
        - "<init>(java.lang.String)"
      - BranchSide: "com.netflix.servo.monitor.Monitors:368"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:363,1"
      Dst: "[com.netflix.servo.monitor.Monitors].isNumericType(java.lang.Class)"
    - Src: "com.netflix.servo.monitor.Monitors:364,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.Monitors:364,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.Monitors:364,1"
      Dst: "[com.netflix.servo.annotations.Monitor].type()"
    - Src: "com.netflix.servo.monitor.Monitors:364,1"
      Dst: "[java.lang.Enum].name()"
    - Src: "com.netflix.servo.monitor.Monitors:365,1"
      Dst: "[com.netflix.servo.annotations.Monitor].name()"
    - Src: "com.netflix.servo.monitor.Monitors:365,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.netflix.servo.monitor.Monitors:366,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.netflix.servo.monitor.Monitors:367,1"
      Dst: "[java.lang.IllegalArgumentException].<init>(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].isNumericType(java.lang.Class<?>)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    functionUses: 1
    ICount: 20
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.Monitors:375"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:374"
        BranchSideFuncs:
        - "isAssignableFrom(java.lang.Class)"
    - Branch String: "com.netflix.servo.monitor.Monitors:375"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:374"
        BranchSideFuncs:
        - "isAssignableFrom(java.lang.Class)"
    - Branch String: "com.netflix.servo.monitor.Monitors:375"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:374"
        BranchSideFuncs:
        - "isAssignableFrom(java.lang.Class)"
    - Branch String: "com.netflix.servo.monitor.Monitors:375"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:374"
        BranchSideFuncs:
        - "isAssignableFrom(java.lang.Class)"
    - Branch String: "com.netflix.servo.monitor.Monitors:375"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:374"
        BranchSideFuncs:
        - "isAssignableFrom(java.lang.Class)"
    - Branch String: "com.netflix.servo.monitor.Monitors:375"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:374"
        BranchSideFuncs:
        - "isAssignableFrom(java.lang.Class)"
    - Branch String: "com.netflix.servo.monitor.Monitors:375"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:374"
        BranchSideFuncs:
        - "isAssignableFrom(java.lang.Class)"
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:375,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 8
  - functionName: "[com.netflix.servo.monitor.Monitors].isMonitorType(java.lang.Class<?>)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Class<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:388,1"
      Dst: "[java.lang.Class].isAssignableFrom(java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors].newObjectConfig(java.lang.Class<?>,java.lang.String,com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors"
    linkageType: ""
    functionLinenumber: 394
    functionLinenumberEnd: 405
    functionDepth: 6
    returnType: "com.netflix.servo.monitor.MonitorConfig"
    argCount: 3
    argTypes:
    - "java.lang.Class<?>"
    - "java.lang.String"
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - "[com.netflix.servo.monitor.Monitors].className(java.lang.Class)"
    - "[java.lang.String].isEmpty()"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    functionUses: 1
    ICount: 12
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.Monitors:397"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:401"
        BranchSideFuncs:
        - "withTag(java.lang.String,java.lang.String)"
      - BranchSide: "com.netflix.servo.monitor.Monitors:400"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.Monitors:401"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.Monitors:404"
        BranchSideFuncs:
        - "withTags(com.netflix.servo.tag.TagList)"
      - BranchSide: "com.netflix.servo.monitor.Monitors:403"
        BranchSideFuncs:
        - "build()"
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors:395,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].builder(java.lang.String)"
    - Src: "com.netflix.servo.monitor.Monitors:396,1"
      Dst: "[com.netflix.servo.monitor.Monitors].className(java.lang.Class)"
    - Src: "com.netflix.servo.monitor.Monitors:397,1"
      Dst: "[java.lang.String].isEmpty()"
    - Src: "com.netflix.servo.monitor.Monitors:398,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.monitor.Monitors:402,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].withTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.Monitors:404,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig$Builder].build()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.google.common.reflect.Reflection].getPackageName(java.lang.Class)"
    functionSourceFile: "com.google.common.reflect.Reflection"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getName()"
    - "[com.google.common.reflect.Reflection].getPackageName(java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.reflect.Reflection:41,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.google.common.reflect.Reflection:41,1"
      Dst: "[com.google.common.reflect.Reflection].getPackageName(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.reflect.Reflection].getPackageName(java.lang.String)"
    functionSourceFile: "com.google.common.reflect.Reflection"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].lastIndexOf(int)"
    - "[java.lang.String].substring(int,int)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.reflect.Reflection:51"
      Branch Sides:
      - BranchSide: "com.google.common.reflect.Reflection:49"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.reflect.Reflection:50,1"
      Dst: "[java.lang.String].lastIndexOf(int)"
    - Src: "com.google.common.reflect.Reflection:51,1"
      Dst: "[java.lang.String].substring(int,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.reflect.Reflection].initialize(java.lang.Class[])"
    functionSourceFile: "com.google.common.reflect.Reflection"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Class[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Class].getName()"
    - "[java.lang.Class].getClassLoader()"
    - "[java.lang.Class].forName(java.lang.String,boolean,java.lang.ClassLoader)"
    - "[java.lang.AssertionError].<init>(java.lang.Object)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.reflect.Reflection:67"
      Branch Sides:
      - BranchSide: "com.google.common.reflect.Reflection:74"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.reflect.Reflection:73"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.reflect.Reflection:69,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.google.common.reflect.Reflection:69,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "com.google.common.reflect.Reflection:69,1"
      Dst: "[java.lang.Class].forName(java.lang.String,boolean,java.lang.ClassLoader)"
    - Src: "com.google.common.reflect.Reflection:71,1"
      Dst: "[java.lang.AssertionError].<init>(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.reflect.Reflection].newProxy(java.lang.Class,java.lang.reflect.InvocationHandler)"
    functionSourceFile: "com.google.common.reflect.Reflection"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Class"
    - "java.lang.reflect.InvocationHandler"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[java.lang.Class].isInterface()"
    - "[com.google.common.base.Preconditions].checkArgument(boolean,java.lang.String,java.lang.Object[])"
    - "[java.lang.Class].getClassLoader()"
    - "[java.lang.reflect.Proxy].newProxyInstance(java.lang.ClassLoader,java.lang.Class[],java.lang.reflect.InvocationHandler)"
    - "[java.lang.Class].cast(java.lang.Object)"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.reflect.Reflection:88,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.reflect.Reflection:89,1"
      Dst: "[java.lang.Class].isInterface()"
    - Src: "com.google.common.reflect.Reflection:89,1"
      Dst: "[com.google.common.base.Preconditions].checkArgument(boolean,java.lang.String,java.lang.Object[])"
    - Src: "com.google.common.reflect.Reflection:90,1"
      Dst: "[java.lang.Class].getClassLoader()"
    - Src: "com.google.common.reflect.Reflection:90,1"
      Dst: "[java.lang.reflect.Proxy].newProxyInstance(java.lang.ClassLoader,java.lang.Class[],java.lang.reflect.InvocationHandler)"
    - Src: "com.google.common.reflect.Reflection:94,1"
      Dst: "[java.lang.Class].cast(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.reflect.Reflection].<init>()"
    functionSourceFile: "com.google.common.reflect.Reflection"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.reflect.Reflection:97,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyTimer].setId(com.netflix.spectator.api.Id)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.spectator.api.Id"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyTimer].get()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyTimer"
    linkageType: ""
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionDepth: 0
    returnType: "com.netflix.spectator.api.Timer"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.CompositeRegistry].timer(com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.AbstractRegistry].timer(com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.NoopRegistry].timer(com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.ExtendedRegistry].timer(com.netflix.spectator.api.Id)"
    - "[com.netflix.spectator.api.Registry].timer(com.netflix.spectator.api.Id)"
    functionUses: 4
    ICount: 9
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.netflix.servo.SpectatorContext$LazyTimer:329"
      Branch Sides:
      - BranchSide: "com.netflix.servo.SpectatorContext$LazyTimer:333"
        BranchSideFuncs:
        - "timer(com.netflix.spectator.api.Id)"
      - BranchSide: "com.netflix.servo.SpectatorContext$LazyTimer:332"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyTimer:330,1"
      Dst: "[com.netflix.spectator.api.Registry].timer(com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.SpectatorContext$LazyTimer].id()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyTimer"
    linkageType: ""
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionDepth: 1
    returnType: "com.netflix.spectator.api.Id"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyTimer].get()"
    - "[com.netflix.spectator.api.DefaultTimer].id()"
    - "[com.netflix.spectator.api.NoopTimer].id()"
    - "[com.netflix.spectator.api.CompositeMeter].id()"
    - "[com.netflix.spectator.api.histogram.PercentileTimer].id()"
    - "[com.netflix.spectator.impl.SwapMeter].id()"
    - "[com.netflix.servo.SpectatorContext$LazyTimer].id()"
    - "[com.netflix.spectator.api.histogram.BucketTimer].id()"
    - "[com.netflix.spectator.api.Meter].id()"
    functionUses: 5
    ICount: 4
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyTimer:337,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyTimer].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyTimer:337,1"
      Dst: "[com.netflix.spectator.api.Meter].id()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyTimer].measure()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyTimer"
    linkageType: ""
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionDepth: 1
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyTimer].get()"
    - "[com.netflix.spectator.api.CompositeMeter].measure()"
    - "[com.netflix.spectator.api.NoopTimer].measure()"
    - "[com.netflix.spectator.impl.SwapMeter].measure()"
    - "[com.netflix.spectator.api.histogram.BucketTimer].measure()"
    - "[com.netflix.servo.SpectatorContext$LazyTimer].measure()"
    - "[com.netflix.spectator.api.DefaultTimer].measure()"
    - "[com.netflix.spectator.api.histogram.PercentileTimer].measure()"
    - "[com.netflix.spectator.api.Meter].measure()"
    functionUses: 4
    ICount: 4
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyTimer:341,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyTimer].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyTimer:341,1"
      Dst: "[com.netflix.spectator.api.Meter].measure()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyTimer].hasExpired()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyTimer"
    linkageType: ""
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyTimer].get()"
    - "[com.netflix.spectator.impl.SwapMeter].hasExpired()"
    - "[com.netflix.spectator.api.histogram.PercentileTimer].hasExpired()"
    - "[com.netflix.spectator.api.CompositeMeter].hasExpired()"
    - "[com.netflix.servo.SpectatorContext$LazyTimer].hasExpired()"
    - "[com.netflix.spectator.api.DefaultTimer].hasExpired()"
    - "[com.netflix.spectator.api.NoopTimer].hasExpired()"
    - "[com.netflix.spectator.api.histogram.BucketTimer].hasExpired()"
    - "[com.netflix.spectator.api.Meter].hasExpired()"
    functionUses: 5
    ICount: 4
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyTimer:345,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyTimer].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyTimer:345,1"
      Dst: "[com.netflix.spectator.api.Meter].hasExpired()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyTimer].record(long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyTimer"
    linkageType: ""
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyTimer].get()"
    - "[com.netflix.spectator.api.CompositeTimer].record(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.spectator.api.SwapTimer].record(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.spectator.api.histogram.BucketTimer].record(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.SpectatorContext$LazyTimer].record(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.spectator.api.histogram.PercentileTimer].record(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.spectator.api.DefaultTimer].record(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.spectator.api.NoopTimer].record(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.spectator.api.Timer].record(long,java.util.concurrent.TimeUnit)"
    functionUses: 8
    ICount: 6
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyTimer:349,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyTimer].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyTimer:349,1"
      Dst: "[com.netflix.spectator.api.Timer].record(long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyTimer].count()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyTimer].get()"
    - "[com.netflix.spectator.api.Timer].count()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyTimer:353,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyTimer].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyTimer:353,1"
      Dst: "[com.netflix.spectator.api.Timer].count()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyTimer].totalTime()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyTimer].get()"
    - "[com.netflix.spectator.api.Timer].totalTime()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyTimer:357,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyTimer].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyTimer:357,1"
      Dst: "[com.netflix.spectator.api.Timer].totalTime()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicStopwatch].start()"
    functionSourceFile: "com.netflix.servo.monitor.BasicStopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].nanoTime()"
    - "[java.util.concurrent.atomic.AtomicLong].set(long)"
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicStopwatch:35,1"
      Dst: "[java.lang.System].nanoTime()"
    - Src: "com.netflix.servo.monitor.BasicStopwatch:35,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].set(long)"
    - Src: "com.netflix.servo.monitor.BasicStopwatch:36,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicStopwatch].reset()"
    functionSourceFile: "com.netflix.servo.monitor.BasicStopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicLong].set(long)"
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicStopwatch:53,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].set(long)"
    - Src: "com.netflix.servo.monitor.BasicStopwatch:55,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicStopwatch].getDuration(java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.BasicStopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "long"
    argCount: 1
    argTypes:
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BasicStopwatch].getDuration()"
    - "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicStopwatch:63,1"
      Dst: "[com.netflix.servo.monitor.BasicStopwatch].getDuration()"
    - Src: "com.netflix.servo.monitor.BasicStopwatch:63,1"
      Dst: "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].<init>()"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:61,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].unmodifiableIterable(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Iterable"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].<init>(java.lang.Iterable,com.google.common.collect.Iterables$1)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:67"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:68"
        BranchSideFuncs: []
    - Branch String: "com.google.common.collect.Iterables:67"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:70"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:66,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:71,1"
      Dst: "[com.google.common.collect.Iterables$UnmodifiableIterable].<init>(java.lang.Iterable,com.google.common.collect.Iterables$1)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables].unmodifiableIterable(com.google.common.collect.ImmutableCollection)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Iterable"
    argCount: 1
    argTypes:
    - "com.google.common.collect.ImmutableCollection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:82,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].size(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collection].size()"
    - "[java.lang.Iterable].iterator()"
    - "[com.google.common.collect.Iterators].size(java.util.Iterator)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:108"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:107"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:108,1"
      Dst: "[java.util.Collection].size()"
    - Src: "com.google.common.collect.Iterables:108,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:108,1"
      Dst: "[com.google.common.collect.Iterators].size(java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables].contains(java.lang.Iterable,java.lang.Object)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Collections2].safeContains(java.util.Collection,java.lang.Object)"
    - "[java.lang.Iterable].iterator()"
    - "[com.google.common.collect.Iterators].contains(java.util.Iterator,java.lang.Object)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:118"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:122"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:121"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:120,1"
      Dst: "[com.google.common.collect.Collections2].safeContains(java.util.Collection,java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:122,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:122,1"
      Dst: "[com.google.common.collect.Iterators].contains(java.util.Iterator,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].removeAll(java.lang.Iterable,java.util.Collection)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[java.util.Collection].removeAll(java.util.Collection)"
    - "[java.lang.Iterable].iterator()"
    - "[com.google.common.collect.Iterators].removeAll(java.util.Iterator,java.util.Collection)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:138"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:137"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:138,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:138,1"
      Dst: "[java.util.Collection].removeAll(java.util.Collection)"
    - Src: "com.google.common.collect.Iterables:138,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:138,1"
      Dst: "[com.google.common.collect.Iterators].removeAll(java.util.Iterator,java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables].retainAll(java.lang.Iterable,java.util.Collection)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "java.util.Collection"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[java.util.Collection].retainAll(java.util.Collection)"
    - "[java.lang.Iterable].iterator()"
    - "[com.google.common.collect.Iterators].retainAll(java.util.Iterator,java.util.Collection)"
    functionUses: 0
    ICount: 12
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:156"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:155"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:156,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:156,1"
      Dst: "[java.util.Collection].retainAll(java.util.Collection)"
    - Src: "com.google.common.collect.Iterables:156,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:156,1"
      Dst: "[com.google.common.collect.Iterators].retainAll(java.util.Iterator,java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables].removeIf(java.lang.Iterable,com.google.common.base.Predicate)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionDepth: 2
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "com.google.common.base.Predicate"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.collect.Iterables].removeIfFromRandomAccessList(java.util.List,com.google.common.base.Predicate)"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[com.google.common.collect.Iterators].removeIf(java.util.Iterator,com.google.common.base.Predicate)"
    - "[java.lang.Iterable].iterator()"
    functionUses: 1
    ICount: 14
    EdgeCount: 181
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:176"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:180"
        BranchSideFuncs:
        - "removeIfFromRandomAccessList(java.util.List,com.google.common.base.Predicate)"
        - "checkNotNull(java.lang.Object)"
      - BranchSide: "com.google.common.collect.Iterables:179"
        BranchSideFuncs:
        - "iterator()"
        - "removeIf(java.util.Iterator,com.google.common.base.Predicate)"
    - Branch String: "com.google.common.collect.Iterables:176"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:180"
        BranchSideFuncs:
        - "removeIfFromRandomAccessList(java.util.List,com.google.common.base.Predicate)"
        - "checkNotNull(java.lang.Object)"
      - BranchSide: "com.google.common.collect.Iterables:179"
        BranchSideFuncs:
        - "iterator()"
        - "removeIf(java.util.Iterator,com.google.common.base.Predicate)"
    Callsites:
    - Src: "com.google.common.collect.Iterables:177,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:177,1"
      Dst: "[com.google.common.collect.Iterables].removeIfFromRandomAccessList(java.util.List,com.google.common.base.Predicate)"
    - Src: "com.google.common.collect.Iterables:180,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:180,1"
      Dst: "[com.google.common.collect.Iterators].removeIf(java.util.Iterator,com.google.common.base.Predicate)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables].removeIfFromRandomAccessList(java.util.List,com.google.common.base.Predicate)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 186
    functionLinenumberEnd: 208
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.util.List"
    - "com.google.common.base.Predicate"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Lists$StringAsImmutableList].size()"
    - "[com.google.common.collect.LinkedListMultimap$4].size()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].size()"
    - "[com.google.common.collect.LinkedListMultimap$1].size()"
    - "[com.google.common.collect.Lists$AbstractListWrapper].size()"
    - "[com.google.common.collect.Sets$CartesianSet$1].size()"
    - "[com.google.common.base.Joiner$3].size()"
    - "[com.google.common.collect.ImmutableRangeMap$1].size()"
    - "[com.google.common.collect.ForwardingCollection].size()"
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].size()"
    - "[com.google.common.collect.ImmutableAsList].size()"
    - "[com.google.common.collect.CartesianList$1].size()"
    - "[com.google.common.collect.Lists$CharSequenceAsList].size()"
    - "[com.google.common.collect.Lists$Partition].size()"
    - "[com.google.common.collect.Lists$ReverseList].size()"
    - "[com.google.common.collect.RegularImmutableTable$Values].size()"
    - "[com.google.common.collect.CartesianList].size()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].size()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].size()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].size()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].size()"
    - "[com.google.common.collect.RegularImmutableList].size()"
    - "[java.util.LinkedList].size()"
    - "[com.google.common.collect.Lists$TransformingSequentialList].size()"
    - "[com.google.common.collect.SingletonImmutableList].size()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].size()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].size()"
    - "[java.util.ArrayList].size()"
    - "[com.google.common.collect.Lists$OnePlusArrayList].size()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].size()"
    - "[com.google.common.collect.LinkedListMultimap$3].size()"
    - "[com.google.common.collect.ImmutableList$SubList].size()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].size()"
    - "[com.google.common.collect.Lists$TwoPlusArrayList].size()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].size()"
    - "[sun.awt.util.IdentityArrayList].size()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].size()"
    - "[java.util.Vector].size()"
    - "[com.google.common.collect.ImmutableRangeSet$ComplementRanges].size()"
    - "[com.google.common.collect.ImmutableRangeSet$1].size()"
    - "[com.google.common.collect.Lists$OnePlusArrayList].get(int)"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].get(int)"
    - "[com.google.common.collect.CartesianList$1].get(int)"
    - "[com.google.common.base.Joiner$3].get(int)"
    - "[com.google.common.collect.SingletonImmutableList].get(int)"
    - "[com.google.common.collect.ImmutableMapValues$1].get(int)"
    - "[com.google.common.collect.ImmutableRangeMap$1].get(int)"
    - "[com.google.common.collect.ImmutableRangeSet$1].get(int)"
    - "[com.google.common.collect.Lists$AbstractListWrapper].get(int)"
    - "[com.google.common.collect.RegularImmutableTable$Values].get(int)"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet$1].get(int)"
    - "[com.google.common.collect.ImmutableRangeSet$ComplementRanges].get(int)"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].get(int)"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].get(int)"
    - "[com.google.common.collect.ForwardingList].get(int)"
    - "[com.google.common.collect.Lists$TwoPlusArrayList].get(int)"
    - "[com.google.common.collect.Lists$Partition].get(int)"
    - "[com.google.common.primitives.Chars$CharArrayAsList].get(int)"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet$1].get(int)"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].get(int)"
    - "[com.google.common.collect.Lists$StringAsImmutableList].get(int)"
    - "[java.util.concurrent.CopyOnWriteArrayList].get(int)"
    - "[com.google.common.collect.RegularImmutableAsList].get(int)"
    - "[com.google.common.collect.CartesianList].get(int)"
    - "[com.google.common.collect.Synchronized$SynchronizedList].get(int)"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].get(int)"
    - "[sun.awt.util.IdentityArrayList].get(int)"
    - "[com.google.common.collect.RegularImmutableList].get(int)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedList].get(int)"
    - "[com.google.common.collect.Lists$CharSequenceAsList].get(int)"
    - "[java.util.AbstractSequentialList].get(int)"
    - "[com.google.common.primitives.Longs$LongArrayAsList].get(int)"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].get(int)"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet$1].get(int)"
    - "[com.google.common.collect.Lists$ReverseList].get(int)"
    - "[com.google.common.collect.ImmutableMapKeySet$1].get(int)"
    - "[com.google.common.collect.RegularImmutableTable$CellSet$1].get(int)"
    - "[com.google.common.primitives.Ints$IntArrayAsList].get(int)"
    - "[com.google.common.collect.ImmutableList$SubList].get(int)"
    - "[java.util.LinkedList].get(int)"
    - "[com.google.common.collect.Sets$CartesianSet$1].get(int)"
    - "[java.util.Vector].get(int)"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].get(int)"
    - "[java.util.ArrayList].get(int)"
    - "[com.google.common.reflect.TypeToken$TypeFilter$2].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$11].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$3].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$And].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$14].apply(java.lang.Object)"
    - "[com.google.common.hash.BloomFilter].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$FastMatcher].apply(java.lang.Object)"
    - "[com.google.common.io.Files$FilePredicate$2].apply(java.lang.Object)"
    - "[com.google.common.base.Equivalence$EquivalentToPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$1].apply(java.lang.Object)"
    - "[com.google.common.reflect.TypeToken$InterfaceSet$1].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$2].apply(java.lang.Object)"
    - "[com.google.common.io.Files$FilePredicate$1].apply(java.lang.Object)"
    - "[com.google.common.collect.Range].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$Or].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$CompositionPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$AndPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$InPredicate].apply(java.lang.Object)"
    - "[com.google.common.reflect.TypeToken$TypeFilter$1].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$RangesMatcher].apply(java.lang.Object)"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1$1].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$6].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$NegatedMatcher].apply(java.lang.Object)"
    - "[com.google.common.collect.FilteredEntryMultimap$ValuePredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$IsEqualToPredicate].apply(java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryBiMap$1].apply(java.lang.Object)"
    - "[com.google.common.reflect.ClassPath$1].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$InstanceOfPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$AssignableFromPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$ObjectPredicate$4].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$5].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$ObjectPredicate$3].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$ObjectPredicate$2].apply(java.lang.Object)"
    - "[com.google.common.collect.Multisets$FilteredMultiset$1].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$ContainsPatternPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$4].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$NotPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$OrPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$ObjectPredicate$1].apply(java.lang.Object)"
    - "[com.google.common.primitives.Ints$IntArrayAsList].set(int,java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedList].set(int,java.lang.Object)"
    - "[sun.awt.util.IdentityArrayList].set(int,java.lang.Object)"
    - "[java.util.concurrent.CopyOnWriteArrayList].set(int,java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedList].set(int,java.lang.Object)"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].set(int,java.lang.Object)"
    - "[com.google.common.collect.Lists$AbstractListWrapper].set(int,java.lang.Object)"
    - "[java.util.AbstractSequentialList].set(int,java.lang.Object)"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].set(int,java.lang.Object)"
    - "[com.google.common.primitives.Chars$CharArrayAsList].set(int,java.lang.Object)"
    - "[com.google.common.collect.ForwardingList].set(int,java.lang.Object)"
    - "[com.google.common.collect.Constraints$ConstrainedList].set(int,java.lang.Object)"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].set(int,java.lang.Object)"
    - "[java.util.ArrayList].set(int,java.lang.Object)"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].set(int,java.lang.Object)"
    - "[com.google.common.collect.Lists$ReverseList].set(int,java.lang.Object)"
    - "[java.util.LinkedList].set(int,java.lang.Object)"
    - "[java.util.Vector].set(int,java.lang.Object)"
    - "[com.google.common.primitives.Longs$LongArrayAsList].set(int,java.lang.Object)"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].set(int,java.lang.Object)"
    - "[com.google.common.collect.ImmutableList].set(int,java.lang.Object)"
    - "[javax.management.AttributeList].set(int,java.lang.Object)"
    - "[java.util.AbstractList].set(int,java.lang.Object)"
    - "[com.google.common.collect.Iterables].slowRemoveIfForRemainingElements(java.util.List,com.google.common.base.Predicate,int,int)"
    - "[com.google.common.collect.ForwardingCollection].clear()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].clear()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].clear()"
    - "[sun.awt.util.IdentityArrayList].clear()"
    - "[java.util.LinkedList].clear()"
    - "[java.util.concurrent.CopyOnWriteArrayList].clear()"
    - "[com.google.common.collect.Lists$ReverseList].clear()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].clear()"
    - "[com.google.common.collect.ImmutableCollection].clear()"
    - "[java.util.AbstractList].clear()"
    - "[java.util.Vector].clear()"
    - "[com.google.common.collect.Lists$TransformingSequentialList].clear()"
    - "[java.util.ArrayList].clear()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].subList(int,int)"
    - "[com.google.common.collect.ForwardingList].subList(int,int)"
    - "[com.google.common.collect.ImmutableList$SubList].subList(int,int)"
    - "[java.util.AbstractList].subList(int,int)"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].subList(int,int)"
    - "[java.util.concurrent.CopyOnWriteArrayList].subList(int,int)"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].subList(int,int)"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].subList(int,int)"
    - "[com.google.common.collect.SingletonImmutableList].subList(int,int)"
    - "[com.google.common.collect.Lists$ReverseList].subList(int,int)"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].subList(int,int)"
    - "[com.google.common.primitives.Ints$IntArrayAsList].subList(int,int)"
    - "[com.google.common.collect.ImmutableList].subList(int,int)"
    - "[com.google.common.collect.Constraints$ConstrainedList].subList(int,int)"
    - "[com.google.common.collect.Lists$StringAsImmutableList].subList(int,int)"
    - "[com.google.common.primitives.Chars$CharArrayAsList].subList(int,int)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedList].subList(int,int)"
    - "[com.google.common.collect.Synchronized$SynchronizedList].subList(int,int)"
    - "[java.util.Vector].subList(int,int)"
    - "[com.google.common.primitives.Longs$LongArrayAsList].subList(int,int)"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].subList(int,int)"
    - "[java.util.ArrayList].subList(int,int)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[com.google.common.base.Predicate].apply(java.lang.Object)"
    - "[java.util.List].set(int,java.lang.Object)"
    - "[java.util.List].subList(int,int)"
    - "[java.util.List].clear()"
    functionUses: 1
    ICount: 26
    EdgeCount: 225
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:190"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:206"
        BranchSideFuncs:
        - "get(int)"
        - "apply(java.lang.Object)"
      - BranchSide: "com.google.common.collect.Iterables:205"
        BranchSideFuncs:
        - "subList(int,int)"
        - "size()"
        - "clear()"
    - Branch String: "com.google.common.collect.Iterables:192"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:190"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:189"
        BranchSideFuncs: []
    - Branch String: "com.google.common.collect.Iterables:193"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:201"
        BranchSideFuncs:
        - "set(int,java.lang.Object)"
        - "slowRemoveIfForRemainingElements(java.util.List,com.google.common.base.Predicate,int,int)"
        - "get(int)"
        - "apply(java.lang.Object)"
      - BranchSide: "com.google.common.collect.Iterables:200"
        BranchSideFuncs: []
    - Branch String: "com.google.common.collect.Iterables:207"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:205"
        BranchSideFuncs:
        - "subList(int,int)"
        - "size()"
        - "clear()"
    Callsites:
    - Src: "com.google.common.collect.Iterables:190,1"
      Dst: "[java.util.List].size()"
    - Src: "com.google.common.collect.Iterables:191,1"
      Dst: "[java.util.List].get(int)"
    - Src: "com.google.common.collect.Iterables:192,1"
      Dst: "[com.google.common.base.Predicate].apply(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:195,1"
      Dst: "[java.util.List].set(int,java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:197,1"
      Dst: "[com.google.common.collect.Iterables].slowRemoveIfForRemainingElements(java.util.List,com.google.common.base.Predicate,int,int)"
    - Src: "com.google.common.collect.Iterables:206,1"
      Dst: "[java.util.List].subList(int,int)"
    - Src: "com.google.common.collect.Iterables:206,1"
      Dst: "[java.util.List].clear()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 12
    CyclomaticComplexity: 4
  - functionName: "[com.google.common.collect.Iterables].slowRemoveIfForRemainingElements(java.util.List,com.google.common.base.Predicate,int,int)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 221
    functionLinenumberEnd: 232
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "java.util.List"
    - "com.google.common.base.Predicate"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.ImmutableRangeSet$1].size()"
    - "[com.google.common.collect.Lists$StringAsImmutableList].size()"
    - "[com.google.common.collect.LinkedListMultimap$4].size()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].size()"
    - "[com.google.common.collect.LinkedListMultimap$1].size()"
    - "[com.google.common.collect.Lists$AbstractListWrapper].size()"
    - "[com.google.common.collect.Sets$CartesianSet$1].size()"
    - "[com.google.common.base.Joiner$3].size()"
    - "[com.google.common.collect.ImmutableRangeMap$1].size()"
    - "[com.google.common.collect.ForwardingCollection].size()"
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].size()"
    - "[com.google.common.collect.ImmutableAsList].size()"
    - "[com.google.common.collect.CartesianList$1].size()"
    - "[com.google.common.collect.Lists$CharSequenceAsList].size()"
    - "[com.google.common.collect.Lists$Partition].size()"
    - "[com.google.common.collect.Lists$ReverseList].size()"
    - "[com.google.common.collect.RegularImmutableTable$Values].size()"
    - "[com.google.common.collect.CartesianList].size()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].size()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].size()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].size()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].size()"
    - "[com.google.common.collect.RegularImmutableList].size()"
    - "[java.util.LinkedList].size()"
    - "[com.google.common.collect.Lists$TransformingSequentialList].size()"
    - "[com.google.common.collect.SingletonImmutableList].size()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].size()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].size()"
    - "[java.util.ArrayList].size()"
    - "[com.google.common.collect.Lists$OnePlusArrayList].size()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].size()"
    - "[com.google.common.collect.LinkedListMultimap$3].size()"
    - "[com.google.common.collect.ImmutableList$SubList].size()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].size()"
    - "[com.google.common.collect.Lists$TwoPlusArrayList].size()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].size()"
    - "[sun.awt.util.IdentityArrayList].size()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].size()"
    - "[java.util.Vector].size()"
    - "[com.google.common.collect.ImmutableRangeSet$ComplementRanges].size()"
    - "[com.google.common.reflect.TypeToken$TypeFilter$2].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$11].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$3].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$And].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$14].apply(java.lang.Object)"
    - "[com.google.common.hash.BloomFilter].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$FastMatcher].apply(java.lang.Object)"
    - "[com.google.common.io.Files$FilePredicate$2].apply(java.lang.Object)"
    - "[com.google.common.base.Equivalence$EquivalentToPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$1].apply(java.lang.Object)"
    - "[com.google.common.reflect.TypeToken$InterfaceSet$1].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$2].apply(java.lang.Object)"
    - "[com.google.common.io.Files$FilePredicate$1].apply(java.lang.Object)"
    - "[com.google.common.collect.Range].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$Or].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$CompositionPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$AndPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$InPredicate].apply(java.lang.Object)"
    - "[com.google.common.reflect.TypeToken$TypeFilter$1].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$RangesMatcher].apply(java.lang.Object)"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1$1].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$6].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$NegatedMatcher].apply(java.lang.Object)"
    - "[com.google.common.collect.FilteredEntryMultimap$ValuePredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$IsEqualToPredicate].apply(java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryBiMap$1].apply(java.lang.Object)"
    - "[com.google.common.reflect.ClassPath$1].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$InstanceOfPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$AssignableFromPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$ObjectPredicate$4].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$5].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$ObjectPredicate$3].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$ObjectPredicate$2].apply(java.lang.Object)"
    - "[com.google.common.collect.Multisets$FilteredMultiset$1].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$ContainsPatternPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$4].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$NotPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$OrPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$ObjectPredicate$1].apply(java.lang.Object)"
    - "[com.google.common.collect.Lists$OnePlusArrayList].get(int)"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].get(int)"
    - "[com.google.common.collect.CartesianList$1].get(int)"
    - "[com.google.common.base.Joiner$3].get(int)"
    - "[com.google.common.collect.SingletonImmutableList].get(int)"
    - "[com.google.common.collect.ImmutableMapValues$1].get(int)"
    - "[com.google.common.collect.ImmutableRangeMap$1].get(int)"
    - "[com.google.common.collect.ImmutableRangeSet$1].get(int)"
    - "[com.google.common.collect.Lists$AbstractListWrapper].get(int)"
    - "[com.google.common.collect.RegularImmutableTable$Values].get(int)"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet$1].get(int)"
    - "[com.google.common.collect.ImmutableRangeSet$ComplementRanges].get(int)"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].get(int)"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].get(int)"
    - "[com.google.common.collect.ForwardingList].get(int)"
    - "[com.google.common.collect.Lists$TwoPlusArrayList].get(int)"
    - "[com.google.common.collect.Lists$Partition].get(int)"
    - "[com.google.common.primitives.Chars$CharArrayAsList].get(int)"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet$1].get(int)"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].get(int)"
    - "[com.google.common.collect.Lists$StringAsImmutableList].get(int)"
    - "[java.util.concurrent.CopyOnWriteArrayList].get(int)"
    - "[com.google.common.collect.RegularImmutableAsList].get(int)"
    - "[com.google.common.collect.CartesianList].get(int)"
    - "[com.google.common.collect.Synchronized$SynchronizedList].get(int)"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].get(int)"
    - "[sun.awt.util.IdentityArrayList].get(int)"
    - "[com.google.common.collect.RegularImmutableList].get(int)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedList].get(int)"
    - "[com.google.common.collect.Lists$CharSequenceAsList].get(int)"
    - "[java.util.AbstractSequentialList].get(int)"
    - "[com.google.common.primitives.Longs$LongArrayAsList].get(int)"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].get(int)"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet$1].get(int)"
    - "[com.google.common.collect.Lists$ReverseList].get(int)"
    - "[com.google.common.collect.ImmutableMapKeySet$1].get(int)"
    - "[com.google.common.collect.RegularImmutableTable$CellSet$1].get(int)"
    - "[com.google.common.primitives.Ints$IntArrayAsList].get(int)"
    - "[com.google.common.collect.ImmutableList$SubList].get(int)"
    - "[java.util.LinkedList].get(int)"
    - "[com.google.common.collect.Sets$CartesianSet$1].get(int)"
    - "[java.util.Vector].get(int)"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].get(int)"
    - "[java.util.ArrayList].get(int)"
    - "[com.google.common.collect.Lists$AbstractListWrapper].remove(int)"
    - "[com.google.common.collect.Synchronized$SynchronizedList].remove(int)"
    - "[com.google.common.collect.Lists$ReverseList].remove(int)"
    - "[java.util.LinkedList].remove(int)"
    - "[java.util.AbstractSequentialList].remove(int)"
    - "[java.util.concurrent.CopyOnWriteArrayList].remove(int)"
    - "[com.google.common.collect.ForwardingList].remove(int)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedList].remove(int)"
    - "[java.util.Vector].remove(int)"
    - "[com.google.common.collect.ImmutableList].remove(int)"
    - "[java.util.ArrayList].remove(int)"
    - "[sun.awt.util.IdentityArrayList].remove(int)"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].remove(int)"
    - "[java.util.AbstractList].remove(int)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[com.google.common.base.Predicate].apply(java.lang.Object)"
    - "[java.util.List].remove(int)"
    functionUses: 1
    ICount: 21
    EdgeCount: 153
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:222"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:228"
        BranchSideFuncs:
        - "get(int)"
        - "apply(java.lang.Object)"
      - BranchSide: "com.google.common.collect.Iterables:227"
        BranchSideFuncs: []
    - Branch String: "com.google.common.collect.Iterables:223"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:null"
        BranchSideFuncs: []
    - Branch String: "com.google.common.collect.Iterables:228"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:230"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:222,1"
      Dst: "[java.util.List].size()"
    - Src: "com.google.common.collect.Iterables:223,1"
      Dst: "[java.util.List].get(int)"
    - Src: "com.google.common.collect.Iterables:223,1"
      Dst: "[com.google.common.base.Predicate].apply(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:224,1"
      Dst: "[java.util.List].remove(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 4
  - functionName: "[com.google.common.collect.Iterables].removeFirstMatching(java.lang.Iterable,com.google.common.base.Predicate)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 237
    functionLinenumberEnd: 248
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "com.google.common.base.Predicate"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[com.google.common.reflect.TypeToken$TypeFilter$2].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$11].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$3].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$And].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$14].apply(java.lang.Object)"
    - "[com.google.common.hash.BloomFilter].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$FastMatcher].apply(java.lang.Object)"
    - "[com.google.common.io.Files$FilePredicate$2].apply(java.lang.Object)"
    - "[com.google.common.base.Equivalence$EquivalentToPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$1].apply(java.lang.Object)"
    - "[com.google.common.reflect.TypeToken$InterfaceSet$1].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$2].apply(java.lang.Object)"
    - "[com.google.common.io.Files$FilePredicate$1].apply(java.lang.Object)"
    - "[com.google.common.collect.Range].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$Or].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$CompositionPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$AndPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$InPredicate].apply(java.lang.Object)"
    - "[com.google.common.reflect.TypeToken$TypeFilter$1].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$RangesMatcher].apply(java.lang.Object)"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1$1].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$6].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$NegatedMatcher].apply(java.lang.Object)"
    - "[com.google.common.collect.FilteredEntryMultimap$ValuePredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$IsEqualToPredicate].apply(java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryBiMap$1].apply(java.lang.Object)"
    - "[com.google.common.reflect.ClassPath$1].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$InstanceOfPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$AssignableFromPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$ObjectPredicate$4].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$5].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$ObjectPredicate$3].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$ObjectPredicate$2].apply(java.lang.Object)"
    - "[com.google.common.collect.Multisets$FilteredMultiset$1].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$ContainsPatternPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher$4].apply(java.lang.Object)"
    - "[com.google.common.base.CharMatcher].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$NotPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$OrPredicate].apply(java.lang.Object)"
    - "[com.google.common.base.Predicates$ObjectPredicate$1].apply(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$CellIterator].remove()"
    - "[org.testng.internal.ArrayIterator].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].remove()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].remove()"
    - "[com.google.common.collect.Iterators$PeekingImpl].remove()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].remove()"
    - "[com.google.common.collect.Iterables$10$1].remove()"
    - "[com.google.common.collect.TreeMultiset$2].remove()"
    - "[org.yaml.snakeyaml.Loader$3].remove()"
    - "[com.google.common.collect.HashBiMap$Itr].remove()"
    - "[com.google.common.collect.Iterators$9].remove()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].remove()"
    - "[com.google.common.collect.Lists$ReverseList$1].remove()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].remove()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].remove()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].remove()"
    - "[com.netflix.spectator.api.FilteredIterator].remove()"
    - "[com.google.common.base.Converter$1$1].remove()"
    - "[java.util.Iterator].remove()"
    - "[com.google.common.collect.ForwardingIterator].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].remove()"
    - "[com.google.common.base.AbstractIterator].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].remove()"
    - "[com.google.common.collect.TransformedIterator].remove()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].remove()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].remove()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].remove()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].remove()"
    - "[org.yaml.snakeyaml.Loader$2].remove()"
    - "[com.google.common.cache.LocalCache$HashIterator].remove()"
    - "[com.google.common.collect.LinkedHashMultimap$1].remove()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].remove()"
    - "[com.google.common.collect.Iterators$5].remove()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].remove()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].remove()"
    - "[org.yaml.snakeyaml.Loader$1].remove()"
    - "[com.google.common.collect.Iterators$2].remove()"
    - "[com.google.common.collect.TreeMultiset$3].remove()"
    - "[com.google.common.collect.UnmodifiableIterator].remove()"
    - "[com.google.common.collect.Iterators$4].remove()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].remove()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].remove()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].remove()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].remove()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.google.common.base.Predicate].apply(java.lang.Object)"
    functionUses: 1
    ICount: 13
    EdgeCount: 412
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:240"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:247"
        BranchSideFuncs:
        - "next()"
        - "apply(java.lang.Object)"
      - BranchSide: "com.google.common.collect.Iterables:246"
        BranchSideFuncs: []
    - Branch String: "com.google.common.collect.Iterables:242"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:246"
        BranchSideFuncs:
        - "remove()"
      - BranchSide: "com.google.common.collect.Iterables:245"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:238,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:239,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:240,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.google.common.collect.Iterables:241,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.google.common.collect.Iterables:242,1"
      Dst: "[com.google.common.base.Predicate].apply(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:243,1"
      Dst: "[java.util.Iterator].remove()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables].elementsEqual(java.lang.Iterable,java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collection].size()"
    - "[java.lang.Iterable].iterator()"
    - "[com.google.common.collect.Iterators].elementsEqual(java.util.Iterator,java.util.Iterator)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:259"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:266"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:265"
        BranchSideFuncs: []
    - Branch String: "com.google.common.collect.Iterables:259"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:266"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:265"
        BranchSideFuncs: []
    - Branch String: "com.google.common.collect.Iterables:262"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:266"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:265"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:262,1"
      Dst: "[java.util.Collection].size()"
    - Src: "com.google.common.collect.Iterables:266,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:266,1"
      Dst: "[com.google.common.collect.Iterators].elementsEqual(java.util.Iterator,java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.google.common.collect.Iterables].toString(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[com.google.common.collect.Iterators].toString(java.util.Iterator)"
    - "[java.lang.Iterable].iterator()"
    functionUses: 1
    ICount: 4
    EdgeCount: 179
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:274,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:274,1"
      Dst: "[com.google.common.collect.Iterators].toString(java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].getOnlyElement(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterators].getOnlyElement(java.util.Iterator)"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[java.lang.Iterable].iterator()"
    functionUses: 2
    ICount: 4
    EdgeCount: 179
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:285,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:285,1"
      Dst: "[com.google.common.collect.Iterators].getOnlyElement(java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].getOnlyElement(java.lang.Iterable,java.lang.Object)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Iterable].iterator()"
    - "[com.google.common.collect.Iterators].getOnlyElement(java.util.Iterator,java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:298,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:298,1"
      Dst: "[com.google.common.collect.Iterators].getOnlyElement(java.util.Iterator,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].toArray(java.lang.Iterable,java.lang.Class)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object[]"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterables].toCollection(java.lang.Iterable)"
    - "[java.util.Collection].size()"
    - "[com.google.common.collect.ObjectArrays].newArray(java.lang.Class,int)"
    - "[java.util.Collection].toArray(java.lang.Object[])"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:311,1"
      Dst: "[com.google.common.collect.Iterables].toCollection(java.lang.Iterable)"
    - Src: "com.google.common.collect.Iterables:312,1"
      Dst: "[java.util.Collection].size()"
    - Src: "com.google.common.collect.Iterables:312,1"
      Dst: "[com.google.common.collect.ObjectArrays].newArray(java.lang.Class,int)"
    - Src: "com.google.common.collect.Iterables:313,1"
      Dst: "[java.util.Collection].toArray(java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].toCollection(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionDepth: 0
    returnType: "java.util.Collection"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[com.google.common.collect.Lists].newArrayList(java.util.Iterator)"
    - "[java.lang.Iterable].iterator()"
    functionUses: 1
    ICount: 9
    EdgeCount: 179
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:333"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:332"
        BranchSideFuncs:
        - "iterator()"
        - "newArrayList(java.util.Iterator)"
    Callsites:
    - Src: "com.google.common.collect.Iterables:333,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:333,1"
      Dst: "[com.google.common.collect.Lists].newArrayList(java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables].toArray(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionDepth: 1
    returnType: "java.lang.Object[]"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].toArray()"
    - "[com.google.common.collect.Maps$FilteredMapValues].toArray()"
    - "[sun.awt.util.IdentityArrayList].toArray()"
    - "[com.google.common.collect.MinMaxPriorityQueue].toArray()"
    - "[java.util.concurrent.PriorityBlockingQueue].toArray()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].toArray()"
    - "[java.util.concurrent.CopyOnWriteArraySet].toArray()"
    - "[java.util.ArrayDeque].toArray()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].toArray()"
    - "[com.google.common.collect.DescendingMultiset].toArray()"
    - "[java.util.Vector].toArray()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].toArray()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].toArray()"
    - "[java.util.concurrent.LinkedBlockingDeque].toArray()"
    - "[java.util.LinkedList].toArray()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].toArray()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].toArray()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$KeySet].toArray()"
    - "[java.util.concurrent.CopyOnWriteArrayList].toArray()"
    - "[java.util.concurrent.ConcurrentHashMap$CollectionView].toArray()"
    - "[java.util.concurrent.SynchronousQueue].toArray()"
    - "[java.util.concurrent.ArrayBlockingQueue].toArray()"
    - "[com.google.common.collect.Collections2$FilteredCollection].toArray()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].toArray()"
    - "[com.google.common.collect.ConcurrentHashMultiset$EntrySet].toArray()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].toArray()"
    - "[com.google.common.collect.Sets$DescendingSet].toArray()"
    - "[java.util.concurrent.DelayQueue].toArray()"
    - "[com.google.common.collect.ForwardingCollection].toArray()"
    - "[java.util.ArrayList].toArray()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].toArray()"
    - "[com.google.common.collect.ImmutableCollection].toArray()"
    - "[java.util.AbstractCollection].toArray()"
    - "[com.google.common.collect.ConcurrentHashMultiset].toArray()"
    - "[java.util.PriorityQueue].toArray()"
    - "[java.util.concurrent.LinkedBlockingQueue].toArray()"
    - "[com.google.common.collect.Iterables].toCollection(java.lang.Iterable)"
    - "[java.util.Collection].toArray()"
    functionUses: 1
    ICount: 4
    EdgeCount: 37
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:324,1"
      Dst: "[com.google.common.collect.Iterables].toCollection(java.lang.Iterable)"
    - Src: "com.google.common.collect.Iterables:324,1"
      Dst: "[java.util.Collection].toArray()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].addAll(java.util.Collection,java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionDepth: 1
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.util.Collection"
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Collections2].cast(java.lang.Iterable)"
    - "[com.google.common.collect.ForwardingCollection].addAll(java.util.Collection)"
    - "[java.util.Vector].addAll(java.util.Collection)"
    - "[com.google.common.collect.LinkedHashMultiset].addAll(java.util.Collection)"
    - "[com.google.common.collect.FilteredKeyMultimap$AddRejectingList].addAll(java.util.Collection)"
    - "[com.google.common.collect.Constraints$ConstrainedSortedSet].addAll(java.util.Collection)"
    - "[java.util.TreeSet].addAll(java.util.Collection)"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].addAll(java.util.Collection)"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].addAll(java.util.Collection)"
    - "[sun.awt.util.IdentityArrayList].addAll(java.util.Collection)"
    - "[com.google.common.collect.Maps$5].addAll(java.util.Collection)"
    - "[java.util.concurrent.ConcurrentLinkedQueue].addAll(java.util.Collection)"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].addAll(java.util.Collection)"
    - "[com.google.common.collect.Collections2$FilteredCollection].addAll(java.util.Collection)"
    - "[com.google.common.collect.HashMultiset].addAll(java.util.Collection)"
    - "[com.google.common.collect.ConcurrentHashMultiset].addAll(java.util.Collection)"
    - "[java.util.concurrent.CopyOnWriteArrayList].addAll(java.util.Collection)"
    - "[com.google.common.collect.AbstractMultiset].addAll(java.util.Collection)"
    - "[com.google.common.collect.Constraints$ConstrainedList].addAll(java.util.Collection)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].addAll(java.util.Collection)"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].addAll(java.util.Collection)"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].addAll(java.util.Collection)"
    - "[com.google.common.collect.ImmutableCollection].addAll(java.util.Collection)"
    - "[com.google.common.collect.MinMaxPriorityQueue].addAll(java.util.Collection)"
    - "[com.google.common.collect.EvictingQueue].addAll(java.util.Collection)"
    - "[com.google.common.collect.Constraints$ConstrainedSet].addAll(java.util.Collection)"
    - "[com.google.common.collect.TreeMultiset].addAll(java.util.Collection)"
    - "[com.google.common.collect.EnumMultiset].addAll(java.util.Collection)"
    - "[java.util.AbstractCollection].addAll(java.util.Collection)"
    - "[com.google.common.collect.FilteredKeyMultimap$AddRejectingSet].addAll(java.util.Collection)"
    - "[com.google.common.collect.Constraints$ConstrainedCollection].addAll(java.util.Collection)"
    - "[java.util.concurrent.LinkedBlockingDeque].addAll(java.util.Collection)"
    - "[javax.management.AttributeList].addAll(java.util.Collection)"
    - "[com.google.common.collect.Maps$4].addAll(java.util.Collection)"
    - "[java.util.LinkedList].addAll(java.util.Collection)"
    - "[java.util.ArrayDeque].addAll(java.util.Collection)"
    - "[java.util.concurrent.CopyOnWriteArraySet].addAll(java.util.Collection)"
    - "[java.util.ArrayList].addAll(java.util.Collection)"
    - "[com.google.common.collect.Maps$3].addAll(java.util.Collection)"
    - "[java.util.AbstractQueue].addAll(java.util.Collection)"
    - "[com.google.common.collect.Iterators].addAll(java.util.Collection,java.util.Iterator)"
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[java.util.Collection].addAll(java.util.Collection)"
    - "[java.lang.Iterable].iterator()"
    functionUses: 4
    ICount: 12
    EdgeCount: 220
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:346"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:350"
        BranchSideFuncs:
        - "cast(java.lang.Iterable)"
        - "addAll(java.util.Collection)"
      - BranchSide: "com.google.common.collect.Iterables:349"
        BranchSideFuncs:
        - "addAll(java.util.Collection,java.util.Iterator)"
        - "iterator()"
        - "checkNotNull(java.lang.Object)"
    Callsites:
    - Src: "com.google.common.collect.Iterables:347,1"
      Dst: "[com.google.common.collect.Collections2].cast(java.lang.Iterable)"
    - Src: "com.google.common.collect.Iterables:348,1"
      Dst: "[java.util.Collection].addAll(java.util.Collection)"
    - Src: "com.google.common.collect.Iterables:350,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:350,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:350,1"
      Dst: "[com.google.common.collect.Iterators].addAll(java.util.Collection,java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].frequency(java.lang.Iterable,java.lang.Object)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Multiset].count(java.lang.Object)"
    - "[java.util.Set].contains(java.lang.Object)"
    - "[java.lang.Iterable].iterator()"
    - "[com.google.common.collect.Iterators].frequency(java.util.Iterator,java.lang.Object)"
    functionUses: 0
    ICount: 19
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:361"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:363"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:362"
        BranchSideFuncs: []
    - Branch String: "com.google.common.collect.Iterables:363"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:366"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:365"
        BranchSideFuncs: []
    - Branch String: "com.google.common.collect.Iterables:364"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:363"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:362,1"
      Dst: "[com.google.common.collect.Multiset].count(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:364,1"
      Dst: "[java.util.Set].contains(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:366,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:366,1"
      Dst: "[com.google.common.collect.Iterators].frequency(java.util.Iterator,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables].cycle(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Iterable"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.collect.Iterables$1].<init>(java.lang.Iterable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:387,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:388,1"
      Dst: "[com.google.common.collect.Iterables$1].<init>(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].cycle(java.lang.Object[])"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Iterable"
    argCount: 1
    argTypes:
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Lists].newArrayList(java.lang.Object[])"
    - "[com.google.common.collect.Iterables].cycle(java.lang.Iterable)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:418,1"
      Dst: "[com.google.common.collect.Lists].newArrayList(java.lang.Object[])"
    - Src: "com.google.common.collect.Iterables:418,1"
      Dst: "[com.google.common.collect.Iterables].cycle(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].concat(java.lang.Iterable<E>,java.lang.Iterable<E>)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Iterable<E>"
    argCount: 2
    argTypes:
    - "java.lang.Iterable<E>"
    - "java.lang.Iterable<E>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.ImmutableList].of(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Iterables].concat(java.lang.Iterable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:431,1"
      Dst: "[com.google.common.collect.ImmutableList].of(java.lang.Object,java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:431,1"
      Dst: "[com.google.common.collect.Iterables].concat(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].concat(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Iterable"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.collect.Iterables$2].<init>(java.lang.Iterable)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:490,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:491,1"
      Dst: "[com.google.common.collect.Iterables$2].<init>(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$2].<init>(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables$2"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.FluentIterable].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$2:491,1"
      Dst: "[com.google.common.collect.FluentIterable].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Iterable"
    argCount: 3
    argTypes:
    - "java.lang.Iterable"
    - "java.lang.Iterable"
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.ImmutableList].of(java.lang.Object,java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Iterables].concat(java.lang.Iterable)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:445,1"
      Dst: "[com.google.common.collect.ImmutableList].of(java.lang.Object,java.lang.Object,java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:445,1"
      Dst: "[com.google.common.collect.Iterables].concat(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Iterable"
    argCount: 4
    argTypes:
    - "java.lang.Iterable"
    - "java.lang.Iterable"
    - "java.lang.Iterable"
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.ImmutableList].of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Iterables].concat(java.lang.Iterable)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:461,1"
      Dst: "[com.google.common.collect.ImmutableList].of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:461,1"
      Dst: "[com.google.common.collect.Iterables].concat(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].concat(java.lang.Iterable[])"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Iterable"
    argCount: 1
    argTypes:
    - "java.lang.Iterable[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.ImmutableList].copyOf(java.lang.Object[])"
    - "[com.google.common.collect.Iterables].concat(java.lang.Iterable)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:475,1"
      Dst: "[com.google.common.collect.ImmutableList].copyOf(java.lang.Object[])"
    - Src: "com.google.common.collect.Iterables:475,1"
      Dst: "[com.google.common.collect.Iterables].concat(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].iterators(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionDepth: 1
    returnType: "java.util.Iterator"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterables$3].<init>(java.util.Iterator)"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[java.lang.Iterable].iterator()"
    functionUses: 1
    ICount: 5
    EdgeCount: 179
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:504,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:504,1"
      Dst: "[com.google.common.collect.Iterables$3].<init>(java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].partition(java.lang.Iterable,int)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Iterable"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.base.Preconditions].checkArgument(boolean)"
    - "[com.google.common.collect.Iterables$4].<init>(java.lang.Iterable,int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:536"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:535"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:534"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:535,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:536,1"
      Dst: "[com.google.common.base.Preconditions].checkArgument(boolean)"
    - Src: "com.google.common.collect.Iterables:537,1"
      Dst: "[com.google.common.collect.Iterables$4].<init>(java.lang.Iterable,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables].paddedPartition(java.lang.Iterable,int)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Iterable"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.base.Preconditions].checkArgument(boolean)"
    - "[com.google.common.collect.Iterables$5].<init>(java.lang.Iterable,int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:565"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:564"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:563"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:564,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:565,1"
      Dst: "[com.google.common.base.Preconditions].checkArgument(boolean)"
    - Src: "com.google.common.collect.Iterables:566,1"
      Dst: "[com.google.common.collect.Iterables$5].<init>(java.lang.Iterable,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables].filter(java.lang.Iterable,com.google.common.base.Predicate)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionDepth: 1
    returnType: "java.lang.Iterable"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "com.google.common.base.Predicate"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.collect.Iterables$6].<init>(java.lang.Iterable,com.google.common.base.Predicate)"
    functionUses: 2
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:580,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:582,1"
      Dst: "[com.google.common.collect.Iterables$6].<init>(java.lang.Iterable,com.google.common.base.Predicate)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].filter(java.lang.Iterable,java.lang.Class)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Iterable"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "java.lang.Class"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.collect.Iterables$7].<init>(java.lang.Iterable,java.lang.Class)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:604,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:606,1"
      Dst: "[com.google.common.collect.Iterables$7].<init>(java.lang.Iterable,java.lang.Class)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].any(java.lang.Iterable,com.google.common.base.Predicate)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 618
    functionLinenumberEnd: 620
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "com.google.common.base.Predicate"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterators].any(java.util.Iterator,com.google.common.base.Predicate)"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[java.lang.Iterable].iterator()"
    functionUses: 1
    ICount: 5
    EdgeCount: 179
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:619,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:619,1"
      Dst: "[com.google.common.collect.Iterators].any(java.util.Iterator,com.google.common.base.Predicate)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].all(java.lang.Iterable,com.google.common.base.Predicate)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 627
    functionLinenumberEnd: 629
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "com.google.common.base.Predicate"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterators].all(java.util.Iterator,com.google.common.base.Predicate)"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[java.lang.Iterable].iterator()"
    functionUses: 1
    ICount: 5
    EdgeCount: 179
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:628,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:628,1"
      Dst: "[com.google.common.collect.Iterators].all(java.util.Iterator,com.google.common.base.Predicate)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].find(java.lang.Iterable,com.google.common.base.Predicate)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "com.google.common.base.Predicate"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Iterable].iterator()"
    - "[com.google.common.collect.Iterators].find(java.util.Iterator,com.google.common.base.Predicate)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:642,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:642,1"
      Dst: "[com.google.common.collect.Iterators].find(java.util.Iterator,com.google.common.base.Predicate)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].find(java.lang.Iterable,com.google.common.base.Predicate,java.lang.Object)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.Iterable"
    - "com.google.common.base.Predicate"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Iterable].iterator()"
    - "[com.google.common.collect.Iterators].find(java.util.Iterator,com.google.common.base.Predicate,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:656,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:656,1"
      Dst: "[com.google.common.collect.Iterators].find(java.util.Iterator,com.google.common.base.Predicate,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].tryFind(java.lang.Iterable,com.google.common.base.Predicate)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.google.common.base.Optional"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "com.google.common.base.Predicate"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Iterable].iterator()"
    - "[com.google.common.collect.Iterators].tryFind(java.util.Iterator,com.google.common.base.Predicate)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:671,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:671,1"
      Dst: "[com.google.common.collect.Iterators].tryFind(java.util.Iterator,com.google.common.base.Predicate)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].indexOf(java.lang.Iterable,com.google.common.base.Predicate)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "com.google.common.base.Predicate"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Iterable].iterator()"
    - "[com.google.common.collect.Iterators].indexOf(java.util.Iterator,com.google.common.base.Predicate)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:687,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:687,1"
      Dst: "[com.google.common.collect.Iterators].indexOf(java.util.Iterator,com.google.common.base.Predicate)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].get(java.lang.Iterable,int)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[java.util.List].get(int)"
    - "[java.lang.Iterable].iterator()"
    - "[com.google.common.collect.Iterators].get(java.util.Iterator,int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:724"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:722"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:723,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:724,1"
      Dst: "[java.util.List].get(int)"
    - Src: "com.google.common.collect.Iterables:724,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:724,1"
      Dst: "[com.google.common.collect.Iterators].get(java.util.Iterator,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables].get(java.lang.Iterable,int,java.lang.Object)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 3
    argTypes:
    - "java.lang.Iterable"
    - "int"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.collect.Iterators].checkNonnegative(int)"
    - "[com.google.common.collect.Lists].cast(java.lang.Iterable)"
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    - "[java.lang.Iterable].iterator()"
    - "[com.google.common.collect.Iterators].advance(java.util.Iterator,int)"
    - "[com.google.common.collect.Iterators].getNext(java.util.Iterator,java.lang.Object)"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:746"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:750"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:749"
        BranchSideFuncs: []
    - Branch String: "com.google.common.collect.Iterables:748"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:746"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:744,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:745,1"
      Dst: "[com.google.common.collect.Iterators].checkNonnegative(int)"
    - Src: "com.google.common.collect.Iterables:747,1"
      Dst: "[com.google.common.collect.Lists].cast(java.lang.Iterable)"
    - Src: "com.google.common.collect.Iterables:748,1"
      Dst: "[java.util.List].size()"
    - Src: "com.google.common.collect.Iterables:748,1"
      Dst: "[java.util.List].get(int)"
    - Src: "com.google.common.collect.Iterables:750,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:751,1"
      Dst: "[com.google.common.collect.Iterators].advance(java.util.Iterator,int)"
    - Src: "com.google.common.collect.Iterables:752,1"
      Dst: "[com.google.common.collect.Iterators].getNext(java.util.Iterator,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables].getFirst(java.lang.Iterable,java.lang.Object)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Iterable].iterator()"
    - "[com.google.common.collect.Iterators].getNext(java.util.Iterator,java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:771,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:771,1"
      Dst: "[com.google.common.collect.Iterators].getNext(java.util.Iterator,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].getLast(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].isEmpty()"
    - "[java.util.NoSuchElementException].<init>()"
    - "[com.google.common.collect.Iterables].getLastInNonemptyList(java.util.List)"
    - "[java.lang.Iterable].iterator()"
    - "[com.google.common.collect.Iterators].getLast(java.util.Iterator)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:782"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:790"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:789"
        BranchSideFuncs: []
    - Branch String: "com.google.common.collect.Iterables:784"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:787"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:786"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:784,1"
      Dst: "[java.util.List].isEmpty()"
    - Src: "com.google.common.collect.Iterables:785,1"
      Dst: "[java.util.NoSuchElementException].<init>()"
    - Src: "com.google.common.collect.Iterables:787,1"
      Dst: "[com.google.common.collect.Iterables].getLastInNonemptyList(java.util.List)"
    - Src: "com.google.common.collect.Iterables:790,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:790,1"
      Dst: "[com.google.common.collect.Iterators].getLast(java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].getLastInNonemptyList(java.util.List)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.List].size()"
    - "[java.util.List].get(int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:816,1"
      Dst: "[java.util.List].size()"
    - Src: "com.google.common.collect.Iterables:816,1"
      Dst: "[java.util.List].get(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].getLast(java.lang.Iterable,java.lang.Object)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Collections2].cast(java.lang.Iterable)"
    - "[java.util.Collection].isEmpty()"
    - "[com.google.common.collect.Lists].cast(java.lang.Iterable)"
    - "[com.google.common.collect.Iterables].getLastInNonemptyList(java.util.List)"
    - "[java.lang.Iterable].iterator()"
    - "[com.google.common.collect.Iterators].getLast(java.util.Iterator,java.lang.Object)"
    functionUses: 0
    ICount: 16
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:803"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:812"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:811"
        BranchSideFuncs: []
    - Branch String: "com.google.common.collect.Iterables:805"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:807"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:806"
        BranchSideFuncs: []
    - Branch String: "com.google.common.collect.Iterables:807"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:812"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:811"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:804,1"
      Dst: "[com.google.common.collect.Collections2].cast(java.lang.Iterable)"
    - Src: "com.google.common.collect.Iterables:805,1"
      Dst: "[java.util.Collection].isEmpty()"
    - Src: "com.google.common.collect.Iterables:808,1"
      Dst: "[com.google.common.collect.Lists].cast(java.lang.Iterable)"
    - Src: "com.google.common.collect.Iterables:808,1"
      Dst: "[com.google.common.collect.Iterables].getLastInNonemptyList(java.util.List)"
    - Src: "com.google.common.collect.Iterables:812,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:812,1"
      Dst: "[com.google.common.collect.Iterators].getLast(java.util.Iterator,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables].skip(java.lang.Iterable,int)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Iterable"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.base.Preconditions].checkArgument(boolean,java.lang.Object)"
    - "[com.google.common.collect.Iterables$9].<init>(java.util.List,int)"
    - "[com.google.common.collect.Iterables$10].<init>(java.lang.Iterable,int)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:842"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:841"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:840"
        BranchSideFuncs: []
    - Branch String: "com.google.common.collect.Iterables:844"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:856"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:855"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:841,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:842,1"
      Dst: "[com.google.common.base.Preconditions].checkArgument(boolean,java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:846,1"
      Dst: "[com.google.common.collect.Iterables$9].<init>(java.util.List,int)"
    - Src: "com.google.common.collect.Iterables:856,1"
      Dst: "[com.google.common.collect.Iterables$10].<init>(java.lang.Iterable,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables].limit(java.lang.Iterable,int)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Iterable"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.base.Preconditions].checkArgument(boolean,java.lang.Object)"
    - "[com.google.common.collect.Iterables$11].<init>(java.lang.Iterable,int)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:908"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:907"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:906"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:907,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:908,1"
      Dst: "[com.google.common.base.Preconditions].checkArgument(boolean,java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:909,1"
      Dst: "[com.google.common.collect.Iterables$11].<init>(java.lang.Iterable,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables].consumingIterable(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.Iterable"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterables$12].<init>(java.lang.Iterable)"
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[com.google.common.collect.Iterables$13].<init>(java.lang.Iterable)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:937"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:946"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:945"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:938,1"
      Dst: "[com.google.common.collect.Iterables$12].<init>(java.lang.Iterable)"
    - Src: "com.google.common.collect.Iterables:946,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:948,1"
      Dst: "[com.google.common.collect.Iterables$13].<init>(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].isEmpty(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collection].isEmpty()"
    - "[java.lang.Iterable].iterator()"
    - "[java.util.Iterator].hasNext()"
    functionUses: 0
    ICount: 13
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.collect.Iterables:984"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:987"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.collect.Iterables:986"
        BranchSideFuncs: []
    - Branch String: "com.google.common.collect.Iterables:987"
      Branch Sides:
      - BranchSide: "com.google.common.collect.Iterables:986"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:985,1"
      Dst: "[java.util.Collection].isEmpty()"
    - Src: "com.google.common.collect.Iterables:987,1"
      Dst: "[java.lang.Iterable].iterator()"
    - Src: "com.google.common.collect.Iterables:987,1"
      Dst: "[java.util.Iterator].hasNext()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.collect.Iterables].mergeSorted(java.lang.Iterable,java.util.Comparator)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Iterable"
    argCount: 2
    argTypes:
    - "java.lang.Iterable"
    - "java.util.Comparator"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Iterables$14].<init>(java.lang.Iterable,java.util.Comparator)"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].<init>(java.lang.Iterable,com.google.common.collect.Iterables$1)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:1006,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object,java.lang.Object)"
    - Src: "com.google.common.collect.Iterables:1008,1"
      Dst: "[com.google.common.collect.Iterables$14].<init>(java.lang.Iterable,java.util.Comparator)"
    - Src: "com.google.common.collect.Iterables:1016,1"
      Dst: "[com.google.common.collect.Iterables$UnmodifiableIterable].<init>(java.lang.Iterable,com.google.common.collect.Iterables$1)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables].access$100(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables"
    linkageType: ""
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionDepth: 2
    returnType: "java.util.Iterator"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterables].iterators(java.lang.Iterable)"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables:60,1"
      Dst: "[com.google.common.collect.Iterables].iterators(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$lambda_new_0__57].test(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$lambda_new_0__57"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache].lambda$new$0(long,java.util.Map$Entry)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$lambda_new_0__57:-1,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].lambda$new$0(long,java.util.Map$Entry)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.StatsMonitor$StdDevGaugeWrapper].update(com.netflix.servo.stats.StatsBuffer)"
    functionSourceFile: "com.netflix.servo.monitor.StatsMonitor$StdDevGaugeWrapper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.stats.StatsBuffer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.stats.StatsBuffer].getStdDev()"
    - "[java.lang.Double].valueOf(double)"
    - "[com.netflix.servo.monitor.DoubleGauge].set(java.lang.Double)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.StatsMonitor$StdDevGaugeWrapper:228,1"
      Dst: "[com.netflix.servo.stats.StatsBuffer].getStdDev()"
    - Src: "com.netflix.servo.monitor.StatsMonitor$StdDevGaugeWrapper:228,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.netflix.servo.monitor.StatsMonitor$StdDevGaugeWrapper:228,1"
      Dst: "[com.netflix.servo.monitor.DoubleGauge].set(java.lang.Double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsBuffer].getStdDev()"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Strings].<init>()"
    functionSourceFile: "com.google.common.base.Strings"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Strings:38,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Strings].nullToEmpty(java.lang.String)"
    functionSourceFile: "com.google.common.base.Strings"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.base.Strings:47"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:46"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.base.Strings].emptyToNull(java.lang.String)"
    functionSourceFile: "com.google.common.base.Strings"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Strings].isNullOrEmpty(java.lang.String)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.base.Strings:58"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:57"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Strings:58,1"
      Dst: "[com.google.common.base.Strings].isNullOrEmpty(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.base.Strings].isNullOrEmpty(java.lang.String)"
    functionSourceFile: "com.google.common.base.Strings"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].length()"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.base.Strings:75"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:74"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Strings:75"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Strings:75,1"
      Dst: "[java.lang.String].length()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 3
  - functionName: "[com.google.common.base.Strings].padStart(java.lang.String,int,char)"
    functionSourceFile: "com.google.common.base.Strings"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.base.Strings:99"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:102"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Strings:101"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Strings:103"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:105"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Strings:98,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.base.Strings:99,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.google.common.base.Strings:102,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.google.common.base.Strings:104,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.google.common.base.Strings:106,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.google.common.base.Strings:107,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.base.Strings].padEnd(java.lang.String,int,char)"
    functionSourceFile: "com.google.common.base.Strings"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.base.Strings:131"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:134"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Strings:133"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Strings:136"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:138"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Strings:130,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.base.Strings:131,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.google.common.base.Strings:134,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.google.common.base.Strings:135,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.google.common.base.Strings:137,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.google.common.base.Strings:139,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.base.Strings].repeat(java.lang.String,int)"
    functionSourceFile: "com.google.common.base.Strings"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    - "[com.google.common.base.Preconditions].checkArgument(boolean,java.lang.String,java.lang.Object[])"
    - "[java.lang.String].length()"
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.String].valueOf(long)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.ArrayIndexOutOfBoundsException].<init>(java.lang.String)"
    - "[java.lang.String].getChars(int,int,char[],int)"
    - "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - "[java.lang.String].<init>(char[])"
    functionUses: 0
    ICount: 47
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.base.Strings:156"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:162"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Strings:161"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Strings:157"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:157"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Strings:156"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Strings:158"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:156"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Strings:165"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:170"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Strings:169"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Strings:173"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:175"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Strings:154,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.base.Strings:157,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.google.common.base.Strings:157,1"
      Dst: "[com.google.common.base.Preconditions].checkArgument(boolean,java.lang.String,java.lang.Object[])"
    - Src: "com.google.common.base.Strings:162,1"
      Dst: "[java.lang.String].length()"
    - Src: "com.google.common.base.Strings:166,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.google.common.base.Strings:166,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.google.common.base.Strings:166,1"
      Dst: "[java.lang.String].valueOf(long)"
    - Src: "com.google.common.base.Strings:166,1"
      Dst: "[java.lang.StringBuilder].toString()"
    - Src: "com.google.common.base.Strings:166,1"
      Dst: "[java.lang.ArrayIndexOutOfBoundsException].<init>(java.lang.String)"
    - Src: "com.google.common.base.Strings:171,1"
      Dst: "[java.lang.String].getChars(int,int,char[],int)"
    - Src: "com.google.common.base.Strings:174,1"
      Dst: "[java.lang.System].arraycopy(java.lang.Object,int,java.lang.Object,int,int)"
    - Src: "com.google.common.base.Strings:177,1"
      Dst: "[java.lang.String].<init>(char[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 14
    CyclomaticComplexity: 4
  - functionName: "[com.google.common.base.Strings].commonPrefix(java.lang.CharSequence,java.lang.CharSequence)"
    functionSourceFile: "com.google.common.base.Strings"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.CharSequence"
    - "java.lang.CharSequence"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[java.lang.CharSequence].length()"
    - "[java.lang.Math].min(int,int)"
    - "[java.lang.CharSequence].charAt(int)"
    - "[com.google.common.base.Strings].validSurrogatePairAt(java.lang.CharSequence,int)"
    - "[java.lang.CharSequence].subSequence(int,int)"
    - "[java.lang.CharSequence].toString()"
    functionUses: 0
    ICount: 27
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.base.Strings:194"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:197"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Strings:196"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Strings:194"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:197"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Strings:196"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Strings:197"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:null"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Strings:197"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:200"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Strings:199"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Strings:189,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.base.Strings:192,1"
      Dst: "[java.lang.CharSequence].length()"
    - Src: "com.google.common.base.Strings:192,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.google.common.base.Strings:194,1"
      Dst: "[java.lang.CharSequence].charAt(int)"
    - Src: "com.google.common.base.Strings:197,1"
      Dst: "[com.google.common.base.Strings].validSurrogatePairAt(java.lang.CharSequence,int)"
    - Src: "com.google.common.base.Strings:200,1"
      Dst: "[java.lang.CharSequence].subSequence(int,int)"
    - Src: "com.google.common.base.Strings:200,1"
      Dst: "[java.lang.CharSequence].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 5
  - functionName: "[com.google.common.base.Strings].validSurrogatePairAt(java.lang.CharSequence,int)"
    functionSourceFile: "com.google.common.base.Strings"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 2
    argTypes:
    - "java.lang.CharSequence"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.CharSequence].length()"
    - "[java.lang.CharSequence].charAt(int)"
    - "[java.lang.Character].isHighSurrogate(char)"
    - "[java.lang.Character].isLowSurrogate(char)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.base.Strings:234"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:-2"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Strings:234"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:-2"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Strings:234"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:-2"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Strings:234"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Strings:234,1"
      Dst: "[java.lang.CharSequence].length()"
    - Src: "com.google.common.base.Strings:234,1"
      Dst: "[java.lang.CharSequence].charAt(int)"
    - Src: "com.google.common.base.Strings:234,1"
      Dst: "[java.lang.Character].isHighSurrogate(char)"
    - Src: "com.google.common.base.Strings:234,1"
      Dst: "[java.lang.Character].isLowSurrogate(char)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 5
  - functionName: "[com.google.common.base.Strings].commonSuffix(java.lang.CharSequence,java.lang.CharSequence)"
    functionSourceFile: "com.google.common.base.Strings"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.CharSequence"
    - "java.lang.CharSequence"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - "[java.lang.CharSequence].length()"
    - "[java.lang.Math].min(int,int)"
    - "[java.lang.CharSequence].charAt(int)"
    - "[com.google.common.base.Strings].validSurrogatePairAt(java.lang.CharSequence,int)"
    - "[java.lang.CharSequence].subSequence(int,int)"
    - "[java.lang.CharSequence].toString()"
    functionUses: 0
    ICount: 40
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.google.common.base.Strings:218"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:221"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Strings:220"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Strings:218"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:221"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Strings:220"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Strings:221"
      Branch Sides: []
    - Branch String: "com.google.common.base.Strings:221"
      Branch Sides:
      - BranchSide: "com.google.common.base.Strings:224"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Strings:212,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    - Src: "com.google.common.base.Strings:215,1"
      Dst: "[java.lang.CharSequence].length()"
    - Src: "com.google.common.base.Strings:215,1"
      Dst: "[java.lang.Math].min(int,int)"
    - Src: "com.google.common.base.Strings:218,1"
      Dst: "[java.lang.CharSequence].charAt(int)"
    - Src: "com.google.common.base.Strings:221,1"
      Dst: "[com.google.common.base.Strings].validSurrogatePairAt(java.lang.CharSequence,int)"
    - Src: "com.google.common.base.Strings:225,1"
      Dst: "[java.lang.CharSequence].subSequence(int,int)"
    - Src: "com.google.common.base.Strings:225,1"
      Dst: "[java.lang.CharSequence].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 5
  - functionName: "[com.google.common.base.Objects$ToStringHelper].omitNullValues()"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].add(java.lang.String,java.lang.Object)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.String,java.lang.Object)"
    functionUses: 11
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:229,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.String,java.lang.Object)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: 417
    functionLinenumberEnd: 422
    functionDepth: 3
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Objects$ToStringHelper].addHolder()"
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    functionUses: 3
    ICount: 9
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:418,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].addHolder()"
    - Src: "com.google.common.base.Objects$ToStringHelper:420,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].addHolder()"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionDepth: 2
    returnType: "com.google.common.base.Objects$ToStringHelper$ValueHolder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Objects$ToStringHelper$ValueHolder].<init>(com.google.common.base.Objects$1)"
    functionUses: 2
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:406,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper$ValueHolder].<init>(com.google.common.base.Objects$1)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].add(java.lang.String,boolean)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].valueOf(boolean)"
    - "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:239,1"
      Dst: "[java.lang.String].valueOf(boolean)"
    - Src: "com.google.common.base.Objects$ToStringHelper:239,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].add(java.lang.String,char)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].valueOf(char)"
    - "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:249,1"
      Dst: "[java.lang.String].valueOf(char)"
    - Src: "com.google.common.base.Objects$ToStringHelper:249,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].add(java.lang.String,double)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].valueOf(double)"
    - "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:259,1"
      Dst: "[java.lang.String].valueOf(double)"
    - Src: "com.google.common.base.Objects$ToStringHelper:259,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].add(java.lang.String,float)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].valueOf(float)"
    - "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:269,1"
      Dst: "[java.lang.String].valueOf(float)"
    - Src: "com.google.common.base.Objects$ToStringHelper:269,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].add(java.lang.String,int)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.String,java.lang.Object)"
    - "[java.lang.String].valueOf(int)"
    functionUses: 5
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:279,1"
      Dst: "[java.lang.String].valueOf(int)"
    - Src: "com.google.common.base.Objects$ToStringHelper:279,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].add(java.lang.String,long)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.String,java.lang.Object)"
    - "[java.lang.String].valueOf(long)"
    functionUses: 8
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:289,1"
      Dst: "[java.lang.String].valueOf(long)"
    - Src: "com.google.common.base.Objects$ToStringHelper:289,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].addValue(java.lang.Object)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.Object)"
    functionUses: 6
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:299,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.Object)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionDepth: 3
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Objects$ToStringHelper].addHolder()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:412,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].addHolder()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].addValue(boolean)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].valueOf(boolean)"
    - "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:311,1"
      Dst: "[java.lang.String].valueOf(boolean)"
    - Src: "com.google.common.base.Objects$ToStringHelper:311,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].addValue(char)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].valueOf(char)"
    - "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:323,1"
      Dst: "[java.lang.String].valueOf(char)"
    - Src: "com.google.common.base.Objects$ToStringHelper:323,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].addValue(double)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].valueOf(double)"
    - "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:335,1"
      Dst: "[java.lang.String].valueOf(double)"
    - Src: "com.google.common.base.Objects$ToStringHelper:335,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].addValue(float)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 1
    argTypes:
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].valueOf(float)"
    - "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:347,1"
      Dst: "[java.lang.String].valueOf(float)"
    - Src: "com.google.common.base.Objects$ToStringHelper:347,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].addValue(int)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].valueOf(int)"
    - "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:359,1"
      Dst: "[java.lang.String].valueOf(int)"
    - Src: "com.google.common.base.Objects$ToStringHelper:359,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].addValue(long)"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "com.google.common.base.Objects$ToStringHelper"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].valueOf(long)"
    - "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.Object)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:371,1"
      Dst: "[java.lang.String].valueOf(long)"
    - Src: "com.google.common.base.Objects$ToStringHelper:371,1"
      Dst: "[com.google.common.base.Objects$ToStringHelper].addHolder(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Objects$ToStringHelper].toString()"
    functionSourceFile: "com.google.common.base.Objects$ToStringHelper"
    linkageType: ""
    functionLinenumber: 385
    functionLinenumberEnd: 403
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>(int)"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 45
    ICount: 28
    EdgeCount: 9
    BranchProfiles:
    - Branch String: "com.google.common.base.Objects$ToStringHelper:390"
      Branch Sides:
      - BranchSide: "com.google.common.base.Objects$ToStringHelper:402"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Objects$ToStringHelper:401"
        BranchSideFuncs:
        - "append(char)"
        - "toString()"
    - Branch String: "com.google.common.base.Objects$ToStringHelper:392"
      Branch Sides:
      - BranchSide: "com.google.common.base.Objects$ToStringHelper:393"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Objects$ToStringHelper:392"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Objects$ToStringHelper:392"
      Branch Sides:
      - BranchSide: "com.google.common.base.Objects$ToStringHelper:391"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Objects$ToStringHelper:390"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Objects$ToStringHelper:396"
      Branch Sides:
      - BranchSide: "com.google.common.base.Objects$ToStringHelper:399"
        BranchSideFuncs:
        - "append(java.lang.String)"
      - BranchSide: "com.google.common.base.Objects$ToStringHelper:398"
        BranchSideFuncs:
        - "append(java.lang.Object)"
    Callsites:
    - Src: "com.google.common.base.Objects$ToStringHelper:388,1"
      Dst: "[java.lang.StringBuilder].<init>(int)"
    - Src: "com.google.common.base.Objects$ToStringHelper:388,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.google.common.base.Objects$ToStringHelper:388,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.google.common.base.Objects$ToStringHelper:399,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.google.common.base.Objects$ToStringHelper:402,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 5
  - functionName: "[com.google.common.base.Stopwatch].createUnstarted()"
    functionSourceFile: "com.google.common.base.Stopwatch"
    linkageType: ""
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionDepth: 3
    returnType: "com.google.common.base.Stopwatch"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Stopwatch].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Stopwatch:89,1"
      Dst: "[com.google.common.base.Stopwatch].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Stopwatch].<init>()"
    functionSourceFile: "com.google.common.base.Stopwatch"
    linkageType: ""
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionDepth: 2
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Stopwatch].<init>(com.google.common.base.Ticker)"
    - "[com.google.common.base.Ticker].systemTicker()"
    functionUses: 1
    ICount: 4
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Stopwatch:131,1"
      Dst: "[com.google.common.base.Ticker].systemTicker()"
    - Src: "com.google.common.base.Stopwatch:131,1"
      Dst: "[com.google.common.base.Stopwatch].<init>(com.google.common.base.Ticker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Stopwatch].<init>(com.google.common.base.Ticker)"
    functionSourceFile: "com.google.common.base.Stopwatch"
    linkageType: ""
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.google.common.base.Ticker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object,java.lang.Object)"
    functionUses: 1
    ICount: 7
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Stopwatch:142,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.google.common.base.Stopwatch:143,1"
      Dst: "[com.google.common.base.Preconditions].checkNotNull(java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Stopwatch].createUnstarted(com.google.common.base.Ticker)"
    functionSourceFile: "com.google.common.base.Stopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.google.common.base.Stopwatch"
    argCount: 1
    argTypes:
    - "com.google.common.base.Ticker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Stopwatch].<init>(com.google.common.base.Ticker)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Stopwatch:99,1"
      Dst: "[com.google.common.base.Stopwatch].<init>(com.google.common.base.Ticker)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Stopwatch].createStarted()"
    functionSourceFile: "com.google.common.base.Stopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "com.google.common.base.Stopwatch"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Stopwatch].<init>()"
    - "[com.google.common.base.Stopwatch].start()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Stopwatch:109,1"
      Dst: "[com.google.common.base.Stopwatch].<init>()"
    - Src: "com.google.common.base.Stopwatch:109,1"
      Dst: "[com.google.common.base.Stopwatch].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Stopwatch].start()"
    functionSourceFile: "com.google.common.base.Stopwatch"
    linkageType: ""
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionDepth: 1
    returnType: "com.google.common.base.Stopwatch"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Preconditions].checkState(boolean,java.lang.Object)"
    - "[com.google.common.base.Ticker$1].read()"
    - "[com.google.common.util.concurrent.RateLimiter$SleepingTicker$1].read()"
    - "[com.google.common.cache.CacheBuilder$3].read()"
    - "[com.google.common.base.Ticker].read()"
    functionUses: 2
    ICount: 12
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.google.common.base.Stopwatch:162"
      Branch Sides:
      - BranchSide: "com.google.common.base.Stopwatch:162"
        BranchSideFuncs:
        - "read()"
        - "checkState(boolean,java.lang.Object)"
      - BranchSide: "com.google.common.base.Stopwatch:161"
        BranchSideFuncs:
        - "checkState(boolean,java.lang.Object)"
    Callsites:
    - Src: "com.google.common.base.Stopwatch:162,1"
      Dst: "[com.google.common.base.Preconditions].checkState(boolean,java.lang.Object)"
    - Src: "com.google.common.base.Stopwatch:164,1"
      Dst: "[com.google.common.base.Ticker].read()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.base.Stopwatch].createStarted(com.google.common.base.Ticker)"
    functionSourceFile: "com.google.common.base.Stopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.google.common.base.Stopwatch"
    argCount: 1
    argTypes:
    - "com.google.common.base.Ticker"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Stopwatch].<init>(com.google.common.base.Ticker)"
    - "[com.google.common.base.Stopwatch].start()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Stopwatch:119,1"
      Dst: "[com.google.common.base.Stopwatch].<init>(com.google.common.base.Ticker)"
    - Src: "com.google.common.base.Stopwatch:119,1"
      Dst: "[com.google.common.base.Stopwatch].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Stopwatch].isRunning()"
    functionSourceFile: "com.google.common.base.Stopwatch"
    linkageType: ""
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Stopwatch].stop()"
    functionSourceFile: "com.google.common.base.Stopwatch"
    linkageType: ""
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionDepth: 1
    returnType: "com.google.common.base.Stopwatch"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Ticker$1].read()"
    - "[com.google.common.util.concurrent.RateLimiter$SleepingTicker$1].read()"
    - "[com.google.common.cache.CacheBuilder$3].read()"
    - "[com.google.common.base.Preconditions].checkState(boolean,java.lang.Object)"
    - "[com.google.common.base.Ticker].read()"
    functionUses: 1
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Stopwatch:176,1"
      Dst: "[com.google.common.base.Ticker].read()"
    - Src: "com.google.common.base.Stopwatch:177,1"
      Dst: "[com.google.common.base.Preconditions].checkState(boolean,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Stopwatch].reset()"
    functionSourceFile: "com.google.common.base.Stopwatch"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.google.common.base.Stopwatch"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Stopwatch].elapsedNanos()"
    functionSourceFile: "com.google.common.base.Stopwatch"
    linkageType: ""
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.util.concurrent.RateLimiter$SleepingTicker$1].read()"
    - "[com.google.common.base.Ticker$1].read()"
    - "[com.google.common.cache.CacheBuilder$3].read()"
    - "[com.google.common.base.Ticker].read()"
    functionUses: 2
    ICount: 12
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.google.common.base.Stopwatch:196"
      Branch Sides:
      - BranchSide: "com.google.common.base.Stopwatch:195"
        BranchSideFuncs:
        - "read()"
    Callsites:
    - Src: "com.google.common.base.Stopwatch:196,1"
      Dst: "[com.google.common.base.Ticker].read()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.google.common.base.Stopwatch].elapsed(java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.google.common.base.Stopwatch"
    linkageType: ""
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionDepth: 1
    returnType: "long"
    argCount: 1
    argTypes:
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - "[com.google.common.base.Stopwatch].elapsedNanos()"
    functionUses: 1
    ICount: 6
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Stopwatch:210,1"
      Dst: "[com.google.common.base.Stopwatch].elapsedNanos()"
    - Src: "com.google.common.base.Stopwatch:210,1"
      Dst: "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Stopwatch].toString()"
    functionSourceFile: "com.google.common.base.Stopwatch"
    linkageType: ""
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.base.Stopwatch].elapsedNanos()"
    - "[com.google.common.base.Stopwatch].chooseUnit(long)"
    - "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - "[com.google.common.base.Stopwatch].abbreviate(java.util.concurrent.TimeUnit)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Double].valueOf(double)"
    functionUses: 39
    ICount: 15
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Stopwatch:218,1"
      Dst: "[com.google.common.base.Stopwatch].elapsedNanos()"
    - Src: "com.google.common.base.Stopwatch:220,1"
      Dst: "[com.google.common.base.Stopwatch].chooseUnit(long)"
    - Src: "com.google.common.base.Stopwatch:221,1"
      Dst: "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    - Src: "com.google.common.base.Stopwatch:224,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.google.common.base.Stopwatch:224,1"
      Dst: "[com.google.common.base.Stopwatch].abbreviate(java.util.concurrent.TimeUnit)"
    - Src: "com.google.common.base.Stopwatch:224,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Stopwatch].chooseUnit(long)"
    functionSourceFile: "com.google.common.base.Stopwatch"
    linkageType: ""
    functionLinenumber: 227
    functionLinenumberEnd: 247
    functionDepth: 0
    returnType: "java.util.concurrent.TimeUnit"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    functionUses: 1
    ICount: 51
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.google.common.base.Stopwatch:228"
      Branch Sides:
      - BranchSide: "com.google.common.base.Stopwatch:231"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Stopwatch:230"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Stopwatch:231"
      Branch Sides:
      - BranchSide: "com.google.common.base.Stopwatch:234"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Stopwatch:233"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Stopwatch:234"
      Branch Sides:
      - BranchSide: "com.google.common.base.Stopwatch:237"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Stopwatch:236"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Stopwatch:237"
      Branch Sides:
      - BranchSide: "com.google.common.base.Stopwatch:240"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Stopwatch:239"
        BranchSideFuncs: []
    - Branch String: "com.google.common.base.Stopwatch:240"
      Branch Sides:
      - BranchSide: "com.google.common.base.Stopwatch:243"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Stopwatch:242"
        BranchSideFuncs:
        - "convert(long,java.util.concurrent.TimeUnit)"
    - Branch String: "com.google.common.base.Stopwatch:243"
      Branch Sides:
      - BranchSide: "com.google.common.base.Stopwatch:246"
        BranchSideFuncs: []
      - BranchSide: "com.google.common.base.Stopwatch:245"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.google.common.base.Stopwatch:228,1"
      Dst: "[java.util.concurrent.TimeUnit].convert(long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.base.Stopwatch].abbreviate(java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.google.common.base.Stopwatch"
    linkageType: ""
    functionLinenumber: 249
    functionLinenumberEnd: 267
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].ordinal()"
    - "[java.lang.AssertionError].<init>()"
    functionUses: 1
    ICount: 15
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.base.Stopwatch:250,1"
      Dst: "[java.lang.Enum].ordinal()"
    - Src: "com.google.common.base.Stopwatch:266,1"
      Dst: "[java.lang.AssertionError].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 9
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicTimer].getMonitors()"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicTimer].start()"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.netflix.servo.monitor.Stopwatch"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.TimedStopwatch].<init>(com.netflix.servo.monitor.Timer)"
    - "[com.netflix.servo.monitor.Stopwatch].start()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicTimer:100,1"
      Dst: "[com.netflix.servo.monitor.TimedStopwatch].<init>(com.netflix.servo.monitor.Timer)"
    - Src: "com.netflix.servo.monitor.BasicTimer:101,1"
      Dst: "[com.netflix.servo.monitor.Stopwatch].start()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicTimer].getTimeUnit()"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.concurrent.TimeUnit"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicTimer].recordNanos(long)"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DoubleCounter].increment(double)"
    - "[com.netflix.servo.monitor.StepCounter].increment()"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].update(double)"
    functionUses: 0
    ICount: 18
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BasicTimer:114"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:121"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:120"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicTimer:116,1"
      Dst: "[com.netflix.servo.monitor.DoubleCounter].increment(double)"
    - Src: "com.netflix.servo.monitor.BasicTimer:117,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].increment()"
    - Src: "com.netflix.servo.monitor.BasicTimer:119,1"
      Dst: "[com.netflix.servo.monitor.DoubleMaxGauge].update(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.DoubleMaxGauge].update(double)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleMaxGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyGauge].set(double)"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].updateMax(int,double)"
    functionUses: 0
    ICount: 11
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.DoubleMaxGauge:74"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleMaxGauge:76"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:73,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyGauge].set(double)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:75,1"
      Dst: "[com.netflix.servo.monitor.DoubleMaxGauge].updateMax(int,double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.DoubleMaxGauge].updateMax(int,double)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleMaxGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.lang.Double].longBitsToDouble(long)"
    - "[java.lang.Double].doubleToLongBits(double)"
    - "[java.util.concurrent.atomic.AtomicLong].compareAndSet(long,long)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.DoubleMaxGauge:61"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleMaxGauge:67"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DoubleMaxGauge:66"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.DoubleMaxGauge:62"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleMaxGauge:65"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DoubleMaxGauge:64"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:59,1"
      Dst: "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:60,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:61,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:62,1"
      Dst: "[java.lang.Double].doubleToLongBits(double)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:62,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].compareAndSet(long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.monitor.BasicTimer].record(long)"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.TimeUnit].toNanos(long)"
    - "[com.netflix.servo.monitor.BasicTimer].recordNanos(long)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicTimer:129,1"
      Dst: "[java.util.concurrent.TimeUnit].toNanos(long)"
    - Src: "com.netflix.servo.monitor.BasicTimer:130,1"
      Dst: "[com.netflix.servo.monitor.BasicTimer].recordNanos(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicTimer].record(long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 5
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.TimeUnit].toNanos(long)"
    - "[com.netflix.servo.monitor.BasicTimer].recordNanos(long)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicTimer:138,1"
      Dst: "[java.util.concurrent.TimeUnit].toNanos(long)"
    - Src: "com.netflix.servo.monitor.BasicTimer:138,1"
      Dst: "[com.netflix.servo.monitor.BasicTimer].recordNanos(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicTimer].getTotal(int)"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionDepth: 3
    returnType: "double"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DoubleCounter].getCurrentCount(int)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicTimer:142,1"
      Dst: "[com.netflix.servo.monitor.DoubleCounter].getCurrentCount(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicTimer].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionDepth: 4
    returnType: "java.lang.Long"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepCounter].getCurrentCount(int)"
    - "[com.netflix.servo.monitor.BasicTimer].getTotal(int)"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 2
    ICount: 15
    EdgeCount: 3
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BasicTimer:152"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:149"
        BranchSideFuncs:
        - "getCurrentCount(int)"
        - "getTotal(int)"
        - "valueOf(long)"
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicTimer:150,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].getCurrentCount(int)"
    - Src: "com.netflix.servo.monitor.BasicTimer:151,1"
      Dst: "[com.netflix.servo.monitor.BasicTimer].getTotal(int)"
    - Src: "com.netflix.servo.monitor.BasicTimer:152,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.BasicTimer].getTotalTime()"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 4
    returnType: "java.lang.Double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BasicTimer].getTotal(int)"
    - "[java.lang.Double].valueOf(double)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicTimer:159,1"
      Dst: "[com.netflix.servo.monitor.BasicTimer].getTotal(int)"
    - Src: "com.netflix.servo.monitor.BasicTimer:159,1"
      Dst: "[java.lang.Double].valueOf(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicTimer].getCount()"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.lang.Long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepCounter].getCurrentCount(int)"
    - "[java.lang.Long].valueOf(long)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicTimer:166,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].getCurrentCount(int)"
    - Src: "com.netflix.servo.monitor.BasicTimer:166,1"
      Dst: "[java.lang.Long].valueOf(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicTimer].getMax()"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 3
    returnType: "java.lang.Double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DoubleMaxGauge].getCurrentValue(int)"
    - "[java.lang.Double].valueOf(double)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicTimer:173,1"
      Dst: "[com.netflix.servo.monitor.DoubleMaxGauge].getCurrentValue(int)"
    - Src: "com.netflix.servo.monitor.BasicTimer:173,1"
      Dst: "[java.lang.Double].valueOf(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleMaxGauge].getCurrentValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleMaxGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "double"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.lang.Double].longBitsToDouble(long)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:91,1"
      Dst: "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:91,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:91,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicTimer].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionDepth: 8
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.tag.BasicTagList].concat(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag[])"
    - "[com.netflix.servo.monitor.DoubleCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.StepCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionUses: 6
    ICount: 27
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicTimer:181,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].concat(com.netflix.servo.tag.TagList,com.netflix.servo.tag.Tag[])"
    - Src: "com.netflix.servo.monitor.BasicTimer:181,1"
      Dst: "[com.netflix.servo.monitor.DoubleCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.BasicTimer:182,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].initializeSpectator(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.BasicTimer:184,1"
      Dst: "[com.netflix.servo.monitor.DoubleMaxGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleMaxGauge].initializeSpectator(com.netflix.servo.tag.TagList)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleMaxGauge"
    linkageType: ""
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionDepth: 7
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.tag.TagList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.SpectatorContext$LazyGauge].setId(com.netflix.spectator.api.Id)"
    functionUses: 7
    ICount: 8
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:99,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:99,1"
      Dst: "[com.netflix.servo.SpectatorContext].createId(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:100,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyGauge].setId(com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicTimer].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: 191
    functionLinenumberEnd: 204
    functionDepth: 4
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.DoubleCounter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.StepCounter].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].equals(java.lang.Object)"
    functionUses: 41
    ICount: 33
    EdgeCount: 6
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BasicTimer:192"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:195"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:194"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicTimer:195"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:196"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:195"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicTimer:195"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:198"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:197"
        BranchSideFuncs:
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.BasicTimer:199"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:-1"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicTimer:200"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:-1"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicTimer:201"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:-1"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicTimer:202"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:-1"
        BranchSideFuncs:
        - "equals(java.lang.Object)"
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BasicTimer:203"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BasicTimer:-2"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicTimer:199,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.BasicTimer:199,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BasicTimer:200,1"
      Dst: "[com.netflix.servo.monitor.DoubleCounter].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BasicTimer:201,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BasicTimer:203,1"
      Dst: "[com.netflix.servo.monitor.DoubleMaxGauge].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 7
  - functionName: "[com.netflix.servo.monitor.DoubleMaxGauge].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleMaxGauge"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionDepth: 3
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].getValue(int)"
    functionUses: 41
    ICount: 21
    EdgeCount: 5
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.DoubleMaxGauge:108"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleMaxGauge:111"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DoubleMaxGauge:110"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.DoubleMaxGauge:111"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleMaxGauge:112"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DoubleMaxGauge:111"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.DoubleMaxGauge:111"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleMaxGauge:114"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.DoubleMaxGauge:113"
        BranchSideFuncs:
        - "getValue(int)"
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.DoubleMaxGauge:115"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleMaxGauge:113"
        BranchSideFuncs:
        - "getValue(int)"
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.DoubleMaxGauge:115"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.DoubleMaxGauge:113"
        BranchSideFuncs:
        - "getValue(int)"
        - "equals(java.lang.Object)"
        - "getConfig()"
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:115,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:115,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:115,1"
      Dst: "[com.netflix.servo.monitor.DoubleMaxGauge].getValue(int)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:115,1"
      Dst: "[java.lang.Double].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.DoubleMaxGauge].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleMaxGauge"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionDepth: 2
    returnType: "java.lang.Double"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Double].longBitsToDouble(long)"
    - "[com.netflix.servo.monitor.StepLong].poll(int)"
    - "[java.lang.Double].valueOf(double)"
    functionUses: 4
    ICount: 7
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:84,1"
      Dst: "[com.netflix.servo.monitor.StepLong].poll(int)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:84,1"
      Dst: "[java.lang.Double].longBitsToDouble(long)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:84,1"
      Dst: "[java.lang.Double].valueOf(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicTimer].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionDepth: 4
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.netflix.servo.monitor.DoubleCounter].hashCode()"
    - "[com.netflix.servo.monitor.StepCounter].hashCode()"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].hashCode()"
    functionUses: 41
    ICount: 20
    EdgeCount: 5
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicTimer:211,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.BasicTimer:212,1"
      Dst: "[com.netflix.servo.monitor.DoubleCounter].hashCode()"
    - Src: "com.netflix.servo.monitor.BasicTimer:213,1"
      Dst: "[com.netflix.servo.monitor.StepCounter].hashCode()"
    - Src: "com.netflix.servo.monitor.BasicTimer:215,1"
      Dst: "[com.netflix.servo.monitor.DoubleMaxGauge].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleMaxGauge].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.DoubleMaxGauge"
    linkageType: ""
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionDepth: 3
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[com.netflix.servo.monitor.DoubleMaxGauge].getValue(int)"
    - "[java.lang.Double].hashCode()"
    functionUses: 41
    ICount: 8
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:123,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:123,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:124,1"
      Dst: "[com.netflix.servo.monitor.DoubleMaxGauge].getValue(int)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:124,1"
      Dst: "[java.lang.Double].hashCode()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BasicTimer].toString()"
    functionSourceFile: "com.netflix.servo.monitor.BasicTimer"
    linkageType: ""
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 39
    ICount: 21
    EdgeCount: 13
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BasicTimer:224,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.BasicTimer:224,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.BasicTimer:224,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.BasicTimer:224,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.BasicTimer:224,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.NoopMonitorRegistry].<init>()"
    functionSourceFile: "com.netflix.servo.NoopMonitorRegistry"
    linkageType: ""
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.NoopMonitorRegistry:29,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.NoopMonitorRegistry].getRegisteredMonitors()"
    functionSourceFile: "com.netflix.servo.NoopMonitorRegistry"
    linkageType: ""
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionDepth: 0
    returnType: "java.util.Collection"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].emptyList()"
    functionUses: 2
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.NoopMonitorRegistry:34,1"
      Dst: "[java.util.Collections].emptyList()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.NoopMonitorRegistry].register(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.NoopMonitorRegistry"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 6
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.NoopMonitorRegistry].unregister(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.NoopMonitorRegistry"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.NoopMonitorRegistry].isRegistered(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.NoopMonitorRegistry"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.annotations.DataSourceLevel].values()"
    functionSourceFile: "com.netflix.servo.annotations.DataSourceLevel"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.annotations.DataSourceLevel[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.annotations.DataSourceLevel:24,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.annotations.DataSourceLevel].valueOf(java.lang.String)"
    functionSourceFile: "com.netflix.servo.annotations.DataSourceLevel"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.annotations.DataSourceLevel"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.annotations.DataSourceLevel:24,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.annotations.DataSourceLevel].<init>(java.lang.String,int)"
    functionSourceFile: "com.netflix.servo.annotations.DataSourceLevel"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.annotations.DataSourceLevel:24,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.annotations.DataSourceLevel].getKey()"
    functionSourceFile: "com.netflix.servo.annotations.DataSourceLevel"
    linkageType: ""
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 15
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.annotations.DataSourceLevel].getValue()"
    functionSourceFile: "com.netflix.servo.annotations.DataSourceLevel"
    linkageType: ""
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].name()"
    functionUses: 13
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.annotations.DataSourceLevel:56,1"
      Dst: "[java.lang.Enum].name()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.annotations.DataSourceLevel].tagString()"
    functionSourceFile: "com.netflix.servo.annotations.DataSourceLevel"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[com.netflix.servo.annotations.DataSourceLevel].getKey()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[com.netflix.servo.annotations.DataSourceLevel].getValue()"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.annotations.DataSourceLevel:63,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.annotations.DataSourceLevel:63,1"
      Dst: "[com.netflix.servo.annotations.DataSourceLevel].getKey()"
    - Src: "com.netflix.servo.annotations.DataSourceLevel:63,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.annotations.DataSourceLevel:63,1"
      Dst: "[com.netflix.servo.annotations.DataSourceLevel].getValue()"
    - Src: "com.netflix.servo.annotations.DataSourceLevel:63,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.annotations.DataSourceLevel].$values()"
    functionSourceFile: "com.netflix.servo.annotations.DataSourceLevel"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.annotations.DataSourceLevel[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.JmxMonitorRegistry].<init>(java.lang.String)"
    functionSourceFile: "com.netflix.servo.jmx.JmxMonitorRegistry"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.jmx.JmxMonitorRegistry].<init>(java.lang.String,com.netflix.servo.jmx.ObjectNameMapper)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:66,1"
      Dst: "[com.netflix.servo.jmx.JmxMonitorRegistry].<init>(java.lang.String,com.netflix.servo.jmx.ObjectNameMapper)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.JmxMonitorRegistry].<init>(java.lang.String,com.netflix.servo.jmx.ObjectNameMapper)"
    functionSourceFile: "com.netflix.servo.jmx.JmxMonitorRegistry"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "com.netflix.servo.jmx.ObjectNameMapper"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    - "[java.util.concurrent.atomic.AtomicReference].<init>(java.lang.Object)"
    - "[com.netflix.servo.util.UnmodifiableList].of(java.lang.Object[])"
    - "[java.lang.Object].<init>()"
    - "[java.lang.management.ManagementFactory].getPlatformMBeanServer()"
    functionUses: 1
    ICount: 23
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:76,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:53,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:55,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:57,1"
      Dst: "[com.netflix.servo.util.UnmodifiableList].of(java.lang.Object[])"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:57,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].<init>(java.lang.Object)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:79,1"
      Dst: "[java.lang.management.ManagementFactory].getPlatformMBeanServer()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.JmxMonitorRegistry].register(javax.management.ObjectName,javax.management.DynamicMBean)"
    functionSourceFile: "com.netflix.servo.jmx.JmxMonitorRegistry"
    linkageType: ""
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "javax.management.ObjectName"
    - "javax.management.DynamicMBean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.jmx.JmxMonitorRegistry].getLock(javax.management.ObjectName)"
    - "[javax.management.MBeanServer].isRegistered(javax.management.ObjectName)"
    - "[javax.management.MBeanServer].unregisterMBean(javax.management.ObjectName)"
    - "[javax.management.MBeanServer].registerMBean(java.lang.Object,javax.management.ObjectName)"
    functionUses: 1
    ICount: 18
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.netflix.servo.jmx.JmxMonitorRegistry:85"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.JmxMonitorRegistry:88"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.jmx.JmxMonitorRegistry:87"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:84,1"
      Dst: "[com.netflix.servo.jmx.JmxMonitorRegistry].getLock(javax.management.ObjectName)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:85,1"
      Dst: "[javax.management.MBeanServer].isRegistered(javax.management.ObjectName)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:86,1"
      Dst: "[javax.management.MBeanServer].unregisterMBean(javax.management.ObjectName)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:88,1"
      Dst: "[javax.management.MBeanServer].registerMBean(java.lang.Object,javax.management.ObjectName)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.JmxMonitorRegistry].getLock(javax.management.ObjectName)"
    functionSourceFile: "com.netflix.servo.jmx.JmxMonitorRegistry"
    linkageType: ""
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "javax.management.ObjectName"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.jmx.JmxMonitorRegistry$lambda_getLock_0__41].bootstrap$()"
    - "[java.util.concurrent.ConcurrentHashMap].computeIfAbsent(java.lang.Object,java.util.function.Function)"
    - "[java.util.concurrent.ConcurrentMap].computeIfAbsent(java.lang.Object,java.util.function.Function)"
    functionUses: 1
    ICount: 6
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:159,1"
      Dst: "[com.netflix.servo.jmx.JmxMonitorRegistry$lambda_getLock_0__41].bootstrap$()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:159,1"
      Dst: "[java.util.concurrent.ConcurrentMap].computeIfAbsent(java.lang.Object,java.util.function.Function)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.jmx.JmxMonitorRegistry].getRegisteredMonitors()"
    functionSourceFile: "com.netflix.servo.jmx.JmxMonitorRegistry"
    linkageType: ""
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionDepth: 0
    returnType: "java.util.Collection"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.atomic.AtomicBoolean].getAndSet(boolean)"
    - "[com.netflix.servo.util.UnmodifiableList].copyOf(java.lang.Iterable)"
    - "[java.util.concurrent.atomic.AtomicReference].set(java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap].values()"
    - "[com.google.common.cache.LocalCache].values()"
    - "[com.google.common.collect.ForwardingMap].values()"
    - "[java.util.AbstractMap].values()"
    - "[java.util.concurrent.atomic.AtomicReference].get()"
    - "[java.util.Map].values()"
    functionUses: 2
    ICount: 13
    EdgeCount: 8
    BranchProfiles:
    - Branch String: "com.netflix.servo.jmx.JmxMonitorRegistry:97"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.JmxMonitorRegistry:100"
        BranchSideFuncs:
        - "values()"
        - "set(java.lang.Object)"
        - "copyOf(java.lang.Iterable)"
      - BranchSide: "com.netflix.servo.jmx.JmxMonitorRegistry:99"
        BranchSideFuncs:
        - "get()"
    Callsites:
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:97,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].getAndSet(boolean)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:98,1"
      Dst: "[java.util.Map].values()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:98,1"
      Dst: "[com.netflix.servo.util.UnmodifiableList].copyOf(java.lang.Iterable)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:98,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].set(java.lang.Object)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:100,1"
      Dst: "[java.util.concurrent.atomic.AtomicReference].get()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.jmx.JmxMonitorRegistry].register(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.jmx.JmxMonitorRegistry"
    linkageType: ""
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.jmx.MonitorMBean].createMBeans(java.lang.String,com.netflix.servo.monitor.Monitor,com.netflix.servo.jmx.ObjectNameMapper)"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[com.netflix.servo.jmx.MonitorMBean].getObjectName()"
    - "[com.netflix.servo.jmx.JmxMonitorRegistry].register(javax.management.ObjectName,javax.management.DynamicMBean)"
    - "[com.netflix.servo.monitor.AbstractContextualMonitor].getConfig()"
    - "[com.netflix.servo.monitor.DynamicGauge].getConfig()"
    - "[com.google.common.collect.ForwardingMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.cache.LocalCache].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullConcurrentMap].put(java.lang.Object,java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor:com.netflix.servo.monitor.TimedInterface$TimedHandler:java.util.concurrent.atomic.AtomicBoolean:org.slf4j.helpers.NOPLogger].set(boolean)"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 6
    ICount: 24
    EdgeCount: 149
    BranchProfiles:
    - Branch String: "com.netflix.servo.jmx.JmxMonitorRegistry:110"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.JmxMonitorRegistry:113"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "getObjectName()"
        - "register(javax.management.ObjectName,javax.management.DynamicMBean)"
      - BranchSide: "com.netflix.servo.jmx.JmxMonitorRegistry:112"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
        - "set(boolean)"
        - "warn(java.lang.String,java.lang.Object,java.lang.Object)"
        - "getConfig()"
    Callsites:
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:109,1"
      Dst: "[com.netflix.servo.jmx.MonitorMBean].createMBeans(java.lang.String,com.netflix.servo.monitor.Monitor,com.netflix.servo.jmx.ObjectNameMapper)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:110,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:110,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:110,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:111,1"
      Dst: "[com.netflix.servo.jmx.MonitorMBean].getObjectName()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:111,1"
      Dst: "[com.netflix.servo.jmx.JmxMonitorRegistry].register(javax.management.ObjectName,javax.management.DynamicMBean)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:113,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:113,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:114,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:116,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.jmx.JmxMonitorRegistry].unregister(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.jmx.JmxMonitorRegistry"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.jmx.MonitorMBean].createMBeans(java.lang.String,com.netflix.servo.monitor.Monitor,com.netflix.servo.jmx.ObjectNameMapper)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.jmx.MonitorMBean].getObjectName()"
    - "[javax.management.MBeanServer].unregisterMBean(javax.management.ObjectName)"
    - "[java.util.Map].remove(java.lang.Object)"
    - "[com.netflix.servo.monitor.Monitor].getConfig()"
    - "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    functionUses: 0
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.jmx.JmxMonitorRegistry:127"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.JmxMonitorRegistry:136"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.jmx.JmxMonitorRegistry:135"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:126,1"
      Dst: "[com.netflix.servo.jmx.MonitorMBean].createMBeans(java.lang.String,com.netflix.servo.monitor.Monitor,com.netflix.servo.jmx.ObjectNameMapper)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:127,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:127,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:127,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:129,1"
      Dst: "[com.netflix.servo.jmx.MonitorMBean].getObjectName()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:129,1"
      Dst: "[javax.management.MBeanServer].unregisterMBean(javax.management.ObjectName)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:130,1"
      Dst: "[java.util.Map].remove(java.lang.Object)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:136,1"
      Dst: "[com.netflix.servo.monitor.Monitor].getConfig()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:137,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].set(boolean)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:139,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.jmx.JmxMonitorRegistry].isRegistered(com.netflix.servo.monitor.Monitor<?>)"
    functionSourceFile: "com.netflix.servo.jmx.JmxMonitorRegistry"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitor<?>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.jmx.MonitorMBean].createMBeans(java.lang.String,com.netflix.servo.monitor.Monitor,com.netflix.servo.jmx.ObjectNameMapper)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[com.netflix.servo.jmx.MonitorMBean].getObjectName()"
    - "[javax.management.MBeanServer].isRegistered(javax.management.ObjectName)"
    functionUses: 0
    ICount: 20
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.jmx.JmxMonitorRegistry:147"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.JmxMonitorRegistry:154"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.jmx.JmxMonitorRegistry:153"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.jmx.JmxMonitorRegistry:148"
      Branch Sides:
      - BranchSide: "com.netflix.servo.jmx.JmxMonitorRegistry:151"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.jmx.JmxMonitorRegistry:150"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:146,1"
      Dst: "[com.netflix.servo.jmx.MonitorMBean].createMBeans(java.lang.String,com.netflix.servo.monitor.Monitor,com.netflix.servo.jmx.ObjectNameMapper)"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:147,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:147,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:147,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:148,1"
      Dst: "[com.netflix.servo.jmx.MonitorMBean].getObjectName()"
    - Src: "com.netflix.servo.jmx.JmxMonitorRegistry:148,1"
      Dst: "[javax.management.MBeanServer].isRegistered(javax.management.ObjectName)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$gauge__65].apply(java.lang.Object,java.lang.Object)"
    functionSourceFile: "com.netflix.servo.SpectatorContext$gauge__65"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 2
    argTypes:
    - "java.lang.Object"
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.Registry].gauge(com.netflix.spectator.api.Id)"
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$gauge__65:-1,1"
      Dst: "[com.netflix.spectator.api.Registry].gauge(com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MinGauge].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.MinGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MinGauge].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MinGauge:37,1"
      Dst: "[com.netflix.servo.monitor.MinGauge].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MinGauge].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.monitor.MinGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[com.netflix.servo.monitor.StepLong].<init>(long,com.netflix.servo.util.Clock)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MinGauge:44,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.MinGauge:44,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.MinGauge:45,1"
      Dst: "[com.netflix.servo.monitor.StepLong].<init>(long,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.MinGauge].toString()"
    functionSourceFile: "com.netflix.servo.monitor.MinGauge"
    linkageType: ""
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 39
    ICount: 12
    EdgeCount: 3
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.MinGauge:115,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.MinGauge:115,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.MinGauge:115,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.MinGauge:115,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.MinGauge:115,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.tag.SmallTagMap$Builder].size()"
    functionSourceFile: "com.netflix.servo.tag.SmallTagMap$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.MetricTransformObserver$apply__59].apply(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.publish.MetricTransformObserver$apply__59"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.cache.LocalCache$LoadingSerializationProxy].apply(java.lang.Object)"
    - "[com.google.common.collect.Tables$1].apply(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet$1].apply(java.lang.Object)"
    - "[com.google.common.base.Suppliers$SupplierFunctionImpl].apply(java.lang.Object)"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$2].apply(java.lang.Object)"
    - "[com.google.common.util.concurrent.ServiceManager$ServiceManagerState$4].apply(java.lang.Object)"
    - "[com.google.common.collect.Tables$TransformedTable$3].apply(java.lang.Object)"
    - "[com.google.common.collect.Maps$EntryFunction$1].apply(java.lang.Object)"
    - "[com.google.common.collect.Range$2].apply(java.lang.Object)"
    - "[com.google.common.base.Functions$PredicateFunction].apply(java.lang.Object)"
    - "[com.google.common.escape.Escaper$1].apply(java.lang.Object)"
    - "[com.google.common.collect.Ordering$ArbitraryOrdering$1].apply(java.lang.Object)"
    - "[com.google.common.cache.LocalCache$LocalLoadingCache].apply(java.lang.Object)"
    - "[com.google.common.collect.Maps$EntryFunction$2].apply(java.lang.Object)"
    - "[com.google.common.base.Functions$SupplierFunction].apply(java.lang.Object)"
    - "[com.google.common.util.concurrent.AtomicLongMap$1].apply(java.lang.Object)"
    - "[com.google.common.cache.ForwardingLoadingCache].apply(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet$1].apply(java.lang.Object)"
    - "[com.google.common.collect.Tables$TransformedTable$1].apply(java.lang.Object)"
    - "[com.google.common.reflect.Types$1].apply(java.lang.Object)"
    - "[com.google.common.collect.Tables$TransposeTable$1].apply(java.lang.Object)"
    - "[com.google.common.collect.Tables$TransformedTable$2].apply(java.lang.Object)"
    - "[com.google.common.collect.Interners$InternerFunction].apply(java.lang.Object)"
    - "[com.google.common.collect.Maps$9].apply(java.lang.Object)"
    - "[com.google.common.collect.Range$1].apply(java.lang.Object)"
    - "[com.google.common.base.Functions$ForMapWithDefault].apply(java.lang.Object)"
    - "[com.google.common.collect.Maps$11].apply(java.lang.Object)"
    - "[com.google.common.collect.Multimaps$UnmodifiableMultimap$1].apply(java.lang.Object)"
    - "[com.google.common.collect.Iterables$15].apply(java.lang.Object)"
    - "[com.google.common.net.MediaType$1].apply(java.lang.Object)"
    - "[com.google.common.io.CharStreams$1].apply(java.lang.Object)"
    - "[com.netflix.servo.monitor.Monitors$TimerFactory].apply(java.lang.Object)"
    - "[com.google.common.base.Functions$FunctionComposition].apply(java.lang.Object)"
    - "[com.google.common.util.concurrent.Futures$5].apply(java.lang.Object)"
    - "[com.google.common.io.ByteStreams$2].apply(java.lang.Object)"
    - "[com.google.common.collect.Maps$8].apply(java.lang.Object)"
    - "[com.google.common.collect.TreeBasedTable$1].apply(java.lang.Object)"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet$1].apply(java.lang.Object)"
    - "[com.google.common.cache.LocalCache$LoadingValueReference$1].apply(java.lang.Object)"
    - "[com.google.common.base.Functions$FunctionForMapNoDefault].apply(java.lang.Object)"
    - "[com.google.common.collect.FluentIterable$FromIterableFunction].apply(java.lang.Object)"
    - "[com.google.common.base.Functions$ToStringFunction].apply(java.lang.Object)"
    - "[com.netflix.servo.monitor.Monitors$CounterFactory].apply(java.lang.Object)"
    - "[com.google.common.base.Enums$ValueOfFunction].apply(java.lang.Object)"
    - "[com.google.common.base.Converter].apply(java.lang.Object)"
    - "[com.google.common.net.MediaType$2].apply(java.lang.Object)"
    - "[com.google.common.base.Functions$ConstantFunction:com.google.common.base.Functions$IdentityFunction:com.google.common.cache.AbstractLoadingCache:com.google.common.collect.Collections2$1].apply(java.lang.Object)"
    - "[com.google.common.base.Function].apply(java.lang.Object)"
    functionUses: 5
    ICount: 6
    EdgeCount: 47
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.MetricTransformObserver$apply__59:-1,1"
      Dst: "[com.google.common.base.Function].apply(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleMaxGauge].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.DoubleMaxGauge"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DoubleMaxGauge].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:42,1"
      Dst: "[com.netflix.servo.monitor.DoubleMaxGauge].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DoubleMaxGauge].toString()"
    functionSourceFile: "com.netflix.servo.monitor.DoubleMaxGauge"
    linkageType: ""
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].toString()"
    functionUses: 39
    ICount: 12
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:133,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:133,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:133,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:133,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.DoubleMaxGauge:133,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller].<init>()"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller:47,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller].poll(com.netflix.servo.publish.MetricFilter)"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 10
    returnType: "java.util.List<Metric>"
    argCount: 1
    argTypes:
    - "com.netflix.servo.publish.MetricFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.JvmMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller:247,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller"
    linkageType: ""
    functionLinenumber: 254
    functionLinenumberEnd: 264
    functionDepth: 9
    returnType: "java.util.List<Metric>"
    argCount: 2
    argTypes:
    - "com.netflix.servo.publish.MetricFilter"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].currentTimeMillis()"
    - "[com.netflix.servo.publish.JvmMetricPoller$MetricList].<init>(com.netflix.servo.publish.MetricFilter)"
    - "[com.netflix.servo.publish.JvmMetricPoller].addClassLoadingMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    - "[com.netflix.servo.publish.JvmMetricPoller].addCompilationMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    - "[com.netflix.servo.publish.JvmMetricPoller].addGarbageCollectorMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    - "[com.netflix.servo.publish.JvmMetricPoller].addMemoryPoolMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    - "[com.netflix.servo.publish.JvmMetricPoller].addOperatingSystemMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    - "[com.netflix.servo.publish.JvmMetricPoller].addThreadMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    - "[com.netflix.servo.publish.JvmMetricPoller$MetricList].getList()"
    functionUses: 2
    ICount: 14
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller:255,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:256,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller$MetricList].<init>(com.netflix.servo.publish.MetricFilter)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:257,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller].addClassLoadingMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:258,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller].addCompilationMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:259,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller].addGarbageCollectorMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:260,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller].addMemoryPoolMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:261,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller].addOperatingSystemMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:262,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller].addThreadMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:263,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller$MetricList].getList()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller].addClassLoadingMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller"
    linkageType: ""
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "com.netflix.servo.publish.JvmMetricPoller$MetricList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.management.ManagementFactory].getClassLoadingMXBean()"
    - "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    - "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.Long].valueOf(long)"
    - "[java.lang.management.ClassLoadingMXBean].getLoadedClassCount()"
    - "[java.lang.management.ClassLoadingMXBean].getTotalLoadedClassCount()"
    - "[java.lang.management.ClassLoadingMXBean].getUnloadedClassCount()"
    functionUses: 1
    ICount: 23
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller:267,1"
      Dst: "[java.lang.management.ManagementFactory].getClassLoadingMXBean()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:269,1"
      Dst: "[java.lang.management.ClassLoadingMXBean].getLoadedClassCount()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:269,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:269,1"
      Dst: "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:268,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:271,1"
      Dst: "[java.lang.management.ClassLoadingMXBean].getTotalLoadedClassCount()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:271,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:273,1"
      Dst: "[java.lang.management.ClassLoadingMXBean].getUnloadedClassCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller].addCompilationMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller"
    linkageType: ""
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "com.netflix.servo.publish.JvmMetricPoller$MetricList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.management.ManagementFactory].getCompilationMXBean()"
    - "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    - "[java.lang.Long].valueOf(long)"
    - "[java.lang.management.CompilationMXBean].getTotalCompilationTime()"
    functionUses: 1
    ICount: 11
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller:277,1"
      Dst: "[java.lang.management.ManagementFactory].getCompilationMXBean()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:278,1"
      Dst: "[java.lang.management.CompilationMXBean].getTotalCompilationTime()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:278,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:278,1"
      Dst: "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:278,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller].addGarbageCollectorMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller"
    linkageType: ""
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionDepth: 7
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "com.netflix.servo.publish.JvmMetricPoller$MetricList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.management.ManagementFactory].getGarbageCollectorMXBeans()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - "[java.lang.Long].valueOf(long)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.management.MemoryManagerMXBean].getName()"
    - "[java.lang.management.GarbageCollectorMXBean].getCollectionCount()"
    - "[java.lang.management.GarbageCollectorMXBean].getCollectionTime()"
    functionUses: 1
    ICount: 27
    EdgeCount: 171
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.JvmMetricPoller:283"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:290"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
        - "hasNext()"
        - "iterator()"
        - "next()"
        - "add(com.netflix.servo.Metric)"
        - "newTag(java.lang.String,java.lang.String)"
        - "valueOf(long)"
        - "withAdditionalTag(com.netflix.servo.tag.Tag)"
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:289"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller:282,1"
      Dst: "[java.lang.management.ManagementFactory].getGarbageCollectorMXBeans()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:283,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:283,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:283,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:284,1"
      Dst: "[java.lang.management.MemoryManagerMXBean].getName()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:284,1"
      Dst: "[com.netflix.servo.tag.Tags].newTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:285,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:286,1"
      Dst: "[java.lang.management.GarbageCollectorMXBean].getCollectionCount()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:286,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:286,1"
      Dst: "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:285,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:288,1"
      Dst: "[java.lang.management.GarbageCollectorMXBean].getCollectionTime()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller].addMemoryPoolMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller"
    linkageType: ""
    functionLinenumber: 292
    functionLinenumberEnd: 300
    functionDepth: 8
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "com.netflix.servo.publish.JvmMetricPoller$MetricList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.management.ManagementFactory].getMemoryPoolMXBeans()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[com.netflix.servo.tag.BasicTagList].of(java.lang.String[])"
    - "[java.lang.Enum].name()"
    - "[com.netflix.servo.publish.JvmMetricPoller].addMemoryUsageMetrics(com.netflix.servo.tag.TagList,long,java.lang.management.MemoryUsage,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.lang.management.MemoryPoolMXBean].getName()"
    - "[java.lang.management.MemoryPoolMXBean].getType()"
    - "[java.lang.management.MemoryPoolMXBean].getUsage()"
    functionUses: 1
    ICount: 22
    EdgeCount: 165
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.JvmMetricPoller:294"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:299"
        BranchSideFuncs:
        - "hasNext()"
        - "name()"
        - "iterator()"
        - "of(java.lang.String[])"
        - "next()"
        - "addMemoryUsageMetrics(com.netflix.servo.tag.TagList,long,java.lang.management.MemoryUsage,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:298"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller:293,1"
      Dst: "[java.lang.management.ManagementFactory].getMemoryPoolMXBeans()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:294,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:294,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:294,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:295,1"
      Dst: "[java.lang.management.MemoryPoolMXBean].getName()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:296,1"
      Dst: "[java.lang.management.MemoryPoolMXBean].getType()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:296,1"
      Dst: "[java.lang.Enum].name()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:295,1"
      Dst: "[com.netflix.servo.tag.BasicTagList].of(java.lang.String[])"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:297,1"
      Dst: "[java.lang.management.MemoryPoolMXBean].getUsage()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:297,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller].addMemoryUsageMetrics(com.netflix.servo.tag.TagList,long,java.lang.management.MemoryUsage,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller].addMemoryUsageMetrics(com.netflix.servo.tag.TagList,long,java.lang.management.MemoryUsage,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller"
    linkageType: ""
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionDepth: 7
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.netflix.servo.tag.TagList"
    - "long"
    - "java.lang.management.MemoryUsage"
    - "com.netflix.servo.publish.JvmMetricPoller$MetricList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - "[java.lang.management.MemoryUsage].getCommitted()"
    - "[java.lang.Long].valueOf(long)"
    - "[java.lang.management.MemoryUsage].getInit()"
    - "[java.lang.management.MemoryUsage].getUsed()"
    - "[java.lang.management.MemoryUsage].getMax()"
    functionUses: 1
    ICount: 34
    EdgeCount: 20
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller:303,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTags(com.netflix.servo.tag.TagList)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:304,1"
      Dst: "[java.lang.management.MemoryUsage].getCommitted()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:304,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:304,1"
      Dst: "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:303,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:305,1"
      Dst: "[java.lang.management.MemoryUsage].getInit()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:306,1"
      Dst: "[java.lang.management.MemoryUsage].getUsed()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:307,1"
      Dst: "[java.lang.management.MemoryUsage].getMax()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller].addOperatingSystemMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller"
    linkageType: ""
    functionLinenumber: 310
    functionLinenumberEnd: 333
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "com.netflix.servo.publish.JvmMetricPoller$MetricList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.management.ManagementFactory].getOperatingSystemMXBean()"
    - "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.Double].valueOf(double)"
    - "[com.netflix.servo.publish.JvmMetricPoller].addOptionalMetric(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object,java.lang.String,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    - "[java.lang.management.OperatingSystemMXBean].getAvailableProcessors()"
    - "[java.lang.management.OperatingSystemMXBean].getSystemLoadAverage()"
    functionUses: 1
    ICount: 35
    EdgeCount: 16
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller:311,1"
      Dst: "[java.lang.management.ManagementFactory].getOperatingSystemMXBean()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:312,1"
      Dst: "[java.lang.management.OperatingSystemMXBean].getAvailableProcessors()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:312,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:312,1"
      Dst: "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:312,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:313,1"
      Dst: "[java.lang.management.OperatingSystemMXBean].getSystemLoadAverage()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:313,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:314,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller].addOptionalMetric(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object,java.lang.String,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller].addOptionalMetric(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object,java.lang.String,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller"
    linkageType: ""
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionDepth: 2
    returnType: "void"
    argCount: 5
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "long"
    - "java.lang.Object"
    - "java.lang.String"
    - "com.netflix.servo.publish.JvmMetricPoller$MetricList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].getClass()"
    - "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - "[java.lang.reflect.Method].setAccessible(boolean)"
    - "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    - "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - "[java.lang.Class].getName()"
    - "[org.slf4j.event.EventRecodingLogger].debug(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.helpers.SubstituteLogger].debug(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.helpers.NOPLogger].debug(java.lang.String,java.lang.Throwable)"
    - "[org.slf4j.Logger].debug(java.lang.String,java.lang.Throwable)"
    functionUses: 9
    ICount: 27
    EdgeCount: 12
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller:409,1"
      Dst: "[java.lang.Object].getClass()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:409,1"
      Dst: "[java.lang.Class].getMethod(java.lang.String,java.lang.Class[])"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:410,1"
      Dst: "[java.lang.reflect.Method].setAccessible(boolean)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:411,1"
      Dst: "[java.lang.reflect.Method].invoke(java.lang.Object,java.lang.Object[])"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:412,1"
      Dst: "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:412,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:415,1"
      Dst: "[java.lang.Class].getName()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:414,1"
      Dst: "[java.lang.String].format(java.lang.String,java.lang.Object[])"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:416,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String,java.lang.Throwable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller].addThreadMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller"
    linkageType: ""
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionDepth: 3
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "com.netflix.servo.publish.JvmMetricPoller$MetricList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.management.ManagementFactory].getThreadMXBean()"
    - "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    - "[java.lang.Integer].valueOf(int)"
    - "[java.lang.Long].valueOf(long)"
    - "[com.netflix.servo.publish.JvmMetricPoller].addDetailedThreadMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    - "[java.lang.management.ThreadMXBean].getDaemonThreadCount()"
    - "[java.lang.management.ThreadMXBean].getTotalStartedThreadCount()"
    functionUses: 1
    ICount: 18
    EdgeCount: 8
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller:335,1"
      Dst: "[java.lang.management.ManagementFactory].getThreadMXBean()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:336,1"
      Dst: "[java.lang.management.ThreadMXBean].getDaemonThreadCount()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:336,1"
      Dst: "[java.lang.Integer].valueOf(int)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:336,1"
      Dst: "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:336,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:338,1"
      Dst: "[java.lang.management.ThreadMXBean].getTotalStartedThreadCount()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:338,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:339,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller].addDetailedThreadMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.JvmMetricPoller].addDetailedThreadMetrics(long,com.netflix.servo.publish.JvmMetricPoller$MetricList)"
    functionSourceFile: "com.netflix.servo.publish.JvmMetricPoller"
    linkageType: ""
    functionLinenumber: 342
    functionLinenumberEnd: 401
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "com.netflix.servo.publish.JvmMetricPoller$MetricList"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.management.ManagementFactory].getThreadMXBean()"
    - "[com.netflix.servo.publish.JvmMetricPoller$lambda_addDetailedThreadMetrics_0__62].bootstrap$()"
    - "[java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    - "[java.lang.management.ThreadInfo].getThreadId()"
    - "[java.lang.management.ThreadInfo].getBlockedCount()"
    - "[java.lang.management.ThreadInfo].getBlockedTime()"
    - "[java.lang.management.ThreadInfo].getWaitedCount()"
    - "[java.lang.management.ThreadInfo].getWaitedTime()"
    - "[com.google.common.collect.HashBiMap$Inverse].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$ColumnMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$NavigableAsMapView].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row].get(java.lang.Object)"
    - "[java.util.jar.Attributes].get(java.lang.Object)"
    - "[com.google.common.cache.LocalCache].get(java.lang.Object)"
    - "[javax.swing.MultiUIDefaults].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$ComplementRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.HashBiMap].get(java.lang.Object)"
    - "[java.util.TreeMap].get(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets].get(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableBiMap].get(java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$ArrayMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$RowMap].get(java.lang.Object)"
    - "[java.util.AbstractMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$RangesByUpperBound].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullComputingConcurrentMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].get(java.lang.Object)"
    - "[java.util.EnumMap].get(java.lang.Object)"
    - "[java.util.WeakHashMap].get(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableBiMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Column].get(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedMultimap$1].get(java.lang.Object)"
    - "[java.util.Hashtable].get(java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullConcurrentMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AsMapView].get(java.lang.Object)"
    - "[java.security.Provider].get(java.lang.Object)"
    - "[java.awt.RenderingHints].get(java.lang.Object)"
    - "[com.google.common.collect.Multimaps$AsMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedMap].get(java.lang.Object)"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableSortedMap].get(java.lang.Object)"
    - "[com.google.common.collect.ImmutableEnumMap].get(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AbstractFilteredMap].get(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableBiMap].get(java.lang.Object)"
    - "[java.util.Properties].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$TransformedEntriesMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse].get(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMap].get(java.lang.Object)"
    - "[java.util.IdentityHashMap].get(java.lang.Object)"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap].get(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$ComputingMapAdapter].get(java.lang.Object)"
    - "[javax.swing.UIDefaults].get(java.lang.Object)"
    - "[java.lang.management.ThreadInfo].getThreadState()"
    - "[java.lang.Integer].intValue()"
    - "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    - "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - "[java.lang.Long].valueOf(long)"
    - "[java.lang.management.ThreadMXBean].isThreadContentionMonitoringSupported()"
    - "[java.lang.management.ThreadMXBean].isThreadContentionMonitoringEnabled()"
    - "[java.lang.management.ThreadMXBean].setThreadContentionMonitoringEnabled(boolean)"
    - "[java.lang.management.ThreadMXBean].dumpAllThreads(boolean,boolean)"
    - "[java.util.Map].get(java.lang.Object)"
    functionUses: 1
    ICount: 151
    EdgeCount: 85
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.JvmMetricPoller:345"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:349"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:348"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JvmMetricPoller:349"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:353"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:352"
        BranchSideFuncs:
        - "sort(java.lang.Object[],java.util.Comparator)"
        - "bootstrap$()"
    - Branch String: "com.netflix.servo.publish.JvmMetricPoller:362"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:364"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JvmMetricPoller:370"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:388"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:387"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JvmMetricPoller:372"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:376"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:375"
        BranchSideFuncs:
        - "getThreadId()"
    - Branch String: "com.netflix.servo.publish.JvmMetricPoller:372"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:376"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:375"
        BranchSideFuncs:
        - "getThreadId()"
    - Branch String: "com.netflix.servo.publish.JvmMetricPoller:376"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:null"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JvmMetricPoller:376"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:null"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.JvmMetricPoller:396"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.JvmMetricPoller:398"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.JvmMetricPoller:343,1"
      Dst: "[java.lang.management.ManagementFactory].getThreadMXBean()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:345,1"
      Dst: "[java.lang.management.ThreadMXBean].isThreadContentionMonitoringSupported()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:349,1"
      Dst: "[java.lang.management.ThreadMXBean].isThreadContentionMonitoringEnabled()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:350,1"
      Dst: "[java.lang.management.ThreadMXBean].setThreadContentionMonitoringEnabled(boolean)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:353,1"
      Dst: "[java.lang.management.ThreadMXBean].dumpAllThreads(boolean,boolean)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:354,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller$lambda_addDetailedThreadMetrics_0__62].bootstrap$()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:354,1"
      Dst: "[java.util.Arrays].sort(java.lang.Object[],java.util.Comparator)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:371,1"
      Dst: "[java.lang.management.ThreadInfo].getThreadId()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:377,1"
      Dst: "[java.lang.management.ThreadInfo].getBlockedCount()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:378,1"
      Dst: "[java.lang.management.ThreadInfo].getBlockedTime()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:379,1"
      Dst: "[java.lang.management.ThreadInfo].getWaitedCount()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:380,1"
      Dst: "[java.lang.management.ThreadInfo].getWaitedTime()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:382,1"
      Dst: "[java.lang.management.ThreadInfo].getThreadState()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:382,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:382,1"
      Dst: "[java.lang.Integer].intValue()"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:389,1"
      Dst: "[java.lang.Long].valueOf(long)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:389,1"
      Dst: "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - Src: "com.netflix.servo.publish.JvmMetricPoller:388,1"
      Dst: "[com.netflix.servo.publish.JvmMetricPoller$MetricList].add(com.netflix.servo.Metric)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 21
    CyclomaticComplexity: 9
  - functionName: "[com.netflix.servo.monitor.PeakRateCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.PeakRateCounter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.PeakRateCounter].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    functionUses: 0
    ICount: 5
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.PeakRateCounter:40,1"
      Dst: "[com.netflix.servo.monitor.PeakRateCounter].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.PeakRateCounter].<init>(com.netflix.servo.monitor.MonitorConfig,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.monitor.PeakRateCounter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - "[java.util.concurrent.atomic.AtomicLong].<init>()"
    - "[com.netflix.servo.monitor.StepLong].<init>(long,com.netflix.servo.util.Clock)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.PeakRateCounter:46,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].withAdditionalTag(com.netflix.servo.tag.Tag)"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:46,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].<init>(com.netflix.servo.monitor.MonitorConfig)"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:32,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].<init>()"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:49,1"
      Dst: "[com.netflix.servo.monitor.StepLong].<init>(long,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.PeakRateCounter].getValue(int)"
    functionSourceFile: "com.netflix.servo.monitor.PeakRateCounter"
    linkageType: ""
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionDepth: 2
    returnType: "java.lang.Number"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    functionUses: 6
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.PeakRateCounter:57,1"
      Dst: "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.PeakRateCounter].equals(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.PeakRateCounter"
    linkageType: ""
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionDepth: 2
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.util.concurrent.AtomicDouble].doubleValue()"
    - "[com.google.common.primitives.UnsignedInteger].doubleValue()"
    - "[com.google.common.cache.LongAdder].doubleValue()"
    - "[com.netflix.spectator.impl.AtomicDouble].doubleValue()"
    - "[java.lang.Integer].doubleValue()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    - "[com.google.common.primitives.UnsignedLong:java.lang.Byte:java.lang.Double:java.lang.Float:java.lang.Integer:java.lang.Long:java.lang.Short:java.math.BigDecimal:java.math.BigInteger:java.util.concurrent.atomic.AtomicInteger:java.util.concurrent.atomic.AtomicLong:java.util.concurrent.atomic.LongAdder].doubleValue()"
    - "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[java.lang.Double].compare(double,double)"
    - "[java.lang.Number].doubleValue()"
    functionUses: 42
    ICount: 25
    EdgeCount: 15
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.PeakRateCounter:65"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.PeakRateCounter:68"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.PeakRateCounter:67"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.PeakRateCounter:68"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.PeakRateCounter:69"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.PeakRateCounter:68"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.PeakRateCounter:68"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.PeakRateCounter:71"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.PeakRateCounter:70"
        BranchSideFuncs:
        - "doubleValue()"
        - "getValue()"
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.PeakRateCounter:74"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.PeakRateCounter:71"
        BranchSideFuncs:
        - "compare(double,double)"
      - BranchSide: "com.netflix.servo.monitor.PeakRateCounter:70"
        BranchSideFuncs:
        - "doubleValue()"
        - "getValue()"
        - "equals(java.lang.Object)"
        - "getConfig()"
    - Branch String: "com.netflix.servo.monitor.PeakRateCounter:75"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.PeakRateCounter:70"
        BranchSideFuncs:
        - "doubleValue()"
        - "getValue()"
        - "equals(java.lang.Object)"
        - "getConfig()"
    Callsites:
    - Src: "com.netflix.servo.monitor.PeakRateCounter:72,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:72,1"
      Dst: "[java.lang.Number].doubleValue()"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:74,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:74,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].equals(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:75,1"
      Dst: "[java.lang.Double].compare(double,double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 10
    CyclomaticComplexity: 4
  - functionName: "[com.netflix.servo.monitor.PeakRateCounter].hashCode()"
    functionSourceFile: "com.netflix.servo.monitor.PeakRateCounter"
    linkageType: ""
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionDepth: 1
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - "[java.lang.Double].doubleToLongBits(double)"
    - "[com.google.common.util.concurrent.AtomicDouble].doubleValue()"
    - "[com.google.common.primitives.UnsignedInteger].doubleValue()"
    - "[com.google.common.cache.LongAdder].doubleValue()"
    - "[com.netflix.spectator.impl.AtomicDouble].doubleValue()"
    - "[com.google.common.primitives.UnsignedLong:java.lang.Byte:java.lang.Double:java.lang.Float:java.lang.Integer:java.lang.Long:java.lang.Short:java.math.BigDecimal:java.math.BigInteger:java.util.concurrent.atomic.AtomicInteger:java.util.concurrent.atomic.AtomicLong:java.util.concurrent.atomic.LongAdder].doubleValue()"
    - "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    - "[java.lang.Number].doubleValue()"
    functionUses: 42
    ICount: 13
    EdgeCount: 9
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.PeakRateCounter:83,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getConfig()"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:83,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].hashCode()"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:84,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:84,1"
      Dst: "[java.lang.Number].doubleValue()"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:84,1"
      Dst: "[java.lang.Double].doubleToLongBits(double)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.PeakRateCounter].toString()"
    functionSourceFile: "com.netflix.servo.monitor.PeakRateCounter"
    linkageType: ""
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.StringBuilder].<init>()"
    - "[java.lang.StringBuilder].append(char)"
    - "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    - "[java.lang.StringBuilder].toString()"
    - "[java.lang.StringBuilder].append(java.lang.String)"
    - "[java.lang.StringBuilder].append(java.lang.Object)"
    functionUses: 39
    ICount: 12
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.PeakRateCounter:93,1"
      Dst: "[java.lang.StringBuilder].<init>()"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:93,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.String)"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:93,1"
      Dst: "[java.lang.StringBuilder].append(java.lang.Object)"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:93,1"
      Dst: "[com.netflix.servo.monitor.AbstractMonitor].getValue()"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:93,1"
      Dst: "[java.lang.StringBuilder].append(char)"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:93,1"
      Dst: "[java.lang.StringBuilder].toString()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.PeakRateCounter].increment()"
    functionSourceFile: "com.netflix.servo.monitor.PeakRateCounter"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionDepth: 5
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.PeakRateCounter].increment(long)"
    functionUses: 4
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.PeakRateCounter:101,1"
      Dst: "[com.netflix.servo.monitor.PeakRateCounter].increment(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.PeakRateCounter].increment(long)"
    functionSourceFile: "com.netflix.servo.monitor.PeakRateCounter"
    linkageType: ""
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ManualClock].now()"
    - "[com.netflix.servo.util.ClockWithOffset].now()"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.util.concurrent.atomic.AtomicLong].set(long)"
    - "[java.util.concurrent.atomic.AtomicLong].addAndGet(long)"
    - "[com.netflix.servo.monitor.PeakRateCounter].updatePeak(long)"
    - "[com.netflix.servo.util.Clock].now()"
    functionUses: 1
    ICount: 17
    EdgeCount: 7
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.PeakRateCounter:127"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.PeakRateCounter:131"
        BranchSideFuncs:
        - "set(long)"
      - BranchSide: "com.netflix.servo.monitor.PeakRateCounter:130"
        BranchSideFuncs:
        - "addAndGet(long)"
        - "updatePeak(long)"
    Callsites:
    - Src: "com.netflix.servo.monitor.PeakRateCounter:126,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:127,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:128,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].set(long)"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:131,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].addAndGet(long)"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:132,1"
      Dst: "[com.netflix.servo.monitor.PeakRateCounter].updatePeak(long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.PeakRateCounter].updatePeak(long)"
    functionSourceFile: "com.netflix.servo.monitor.PeakRateCounter"
    linkageType: ""
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionDepth: 3
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.PeakRateCounter].updatePeakPoller(int,long)"
    functionUses: 1
    ICount: 9
    EdgeCount: 1
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.PeakRateCounter:116"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.PeakRateCounter:118"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.PeakRateCounter:117,1"
      Dst: "[com.netflix.servo.monitor.PeakRateCounter].updatePeakPoller(int,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.PeakRateCounter].updatePeakPoller(int,long)"
    functionSourceFile: "com.netflix.servo.monitor.PeakRateCounter"
    linkageType: ""
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionDepth: 2
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - "[java.util.concurrent.atomic.AtomicLong].get()"
    - "[java.util.concurrent.atomic.AtomicLong].compareAndSet(long,long)"
    functionUses: 1
    ICount: 15
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.PeakRateCounter:107"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.PeakRateCounter:113"
        BranchSideFuncs:
        - "compareAndSet(long,long)"
      - BranchSide: "com.netflix.servo.monitor.PeakRateCounter:112"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.PeakRateCounter:108"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.PeakRateCounter:111"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.PeakRateCounter:110"
        BranchSideFuncs:
        - "get()"
    Callsites:
    - Src: "com.netflix.servo.monitor.PeakRateCounter:105,1"
      Dst: "[com.netflix.servo.monitor.StepLong].getCurrent(int)"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:106,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].get()"
    - Src: "com.netflix.servo.monitor.PeakRateCounter:108,1"
      Dst: "[java.util.concurrent.atomic.AtomicLong].compareAndSet(long,long)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.spectator.impl.Config].<init>()"
    functionSourceFile: "com.netflix.spectator.impl.Config"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.impl.Config:32,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.impl.Config].defaultConfig()"
    functionSourceFile: "com.netflix.spectator.impl.Config"
    linkageType: ""
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionDepth: 0
    returnType: "com.netflix.spectator.api.RegistryConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsBuffer].<init>(int,double[])"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "int"
    - "double[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    - "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    - "[com.netflix.servo.stats.StatsBuffer].validPercentiles(double[])"
    - "[java.util.Arrays].copyOf(double[],int)"
    - "[com.netflix.servo.stats.StatsBuffer].reset()"
    functionUses: 0
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.stats.StatsBuffer:51"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:50"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:49"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsBuffer:52"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:51"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:50"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.stats.StatsBuffer:50,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.stats.StatsBuffer:41,1"
      Dst: "[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)"
    - Src: "com.netflix.servo.stats.StatsBuffer:51,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    - Src: "com.netflix.servo.stats.StatsBuffer:55,1"
      Dst: "[com.netflix.servo.stats.StatsBuffer].validPercentiles(double[])"
    - Src: "com.netflix.servo.stats.StatsBuffer:59,1"
      Dst: "[java.util.Arrays].copyOf(double[],int)"
    - Src: "com.netflix.servo.stats.StatsBuffer:62,1"
      Dst: "[com.netflix.servo.stats.StatsBuffer].reset()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.stats.StatsBuffer].validPercentiles(double[])"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "double[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.stats.StatsBuffer:66"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:71"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:70"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsBuffer:67"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:68"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:67"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.stats.StatsBuffer:67"
      Branch Sides:
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:66"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.stats.StatsBuffer:65"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.stats.StatsBuffer].getCount()"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsBuffer].getTotalTime()"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsBuffer].getPercentileValues()"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].copyOf(double[],int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.stats.StatsBuffer:239,1"
      Dst: "[java.util.Arrays].copyOf(double[],int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.stats.StatsBuffer].getPercentiles()"
    functionSourceFile: "com.netflix.servo.stats.StatsBuffer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "double[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Arrays].copyOf(double[],int)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.stats.StatsBuffer:246,1"
      Dst: "[java.util.Arrays].copyOf(double[],int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketConfig$Builder].<init>()"
    functionSourceFile: "com.netflix.servo.monitor.BucketConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketConfig$Builder:47,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketConfig$Builder].withTimeUnit(java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.monitor.BucketConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "com.netflix.servo.monitor.BucketConfig$Builder"
    argCount: 1
    argTypes:
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketConfig$Builder:55,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketConfig$Builder].withBuckets(long[])"
    functionSourceFile: "com.netflix.servo.monitor.BucketConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.netflix.servo.monitor.BucketConfig$Builder"
    argCount: 1
    argTypes:
    - "long[]"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[java.util.Arrays].copyOf(long[],int)"
    - "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    - "[com.netflix.servo.monitor.BucketConfig$Builder].isAscending(long[])"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BucketConfig$Builder:78"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketConfig$Builder:75"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BucketConfig$Builder:74"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketConfig$Builder:75,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.monitor.BucketConfig$Builder:77,1"
      Dst: "[java.util.Arrays].copyOf(long[],int)"
    - Src: "com.netflix.servo.monitor.BucketConfig$Builder:78,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    - Src: "com.netflix.servo.monitor.BucketConfig$Builder:79,1"
      Dst: "[com.netflix.servo.monitor.BucketConfig$Builder].isAscending(long[])"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 4
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.BucketConfig$Builder].isAscending(long[])"
    functionSourceFile: "com.netflix.servo.monitor.BucketConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "long[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 15
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.monitor.BucketConfig$Builder:86"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketConfig$Builder:92"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.monitor.BucketConfig$Builder:91"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.monitor.BucketConfig$Builder:87"
      Branch Sides:
      - BranchSide: "com.netflix.servo.monitor.BucketConfig$Builder:null"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 6
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.monitor.BucketConfig$Builder].build()"
    functionSourceFile: "com.netflix.servo.monitor.BucketConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "com.netflix.servo.monitor.BucketConfig"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BucketConfig].<init>(com.netflix.servo.monitor.BucketConfig$Builder)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.BucketConfig$Builder:99,1"
      Dst: "[com.netflix.servo.monitor.BucketConfig].<init>(com.netflix.servo.monitor.BucketConfig$Builder)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketConfig$Builder].access$000(com.netflix.servo.monitor.BucketConfig$Builder)"
    functionSourceFile: "com.netflix.servo.monitor.BucketConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.util.concurrent.TimeUnit"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.BucketConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.BucketConfig$Builder].access$100(com.netflix.servo.monitor.BucketConfig$Builder)"
    functionSourceFile: "com.netflix.servo.monitor.BucketConfig$Builder"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long[]"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.BucketConfig$Builder"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CompositeMetricPoller].<init>(java.util.Map,java.util.concurrent.ExecutorService,long)"
    functionSourceFile: "com.netflix.servo.publish.CompositeMetricPoller"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.util.Map"
    - "java.util.concurrent.ExecutorService"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.Collections].unmodifiableMap(java.util.Map)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:60,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:61,1"
      Dst: "[java.util.Collections].unmodifiableMap(java.util.Map)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CompositeMetricPoller].increment(java.lang.Throwable,java.lang.String)"
    functionSourceFile: "com.netflix.servo.publish.CompositeMetricPoller"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.Throwable"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 3
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CompositeMetricPoller].getMetrics(java.lang.String,java.util.concurrent.Future<List<Metric>>)"
    functionSourceFile: "com.netflix.servo.publish.CompositeMetricPoller"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionDepth: 1
    returnType: "java.util.List<Metric>"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.util.concurrent.Future<List<Metric>>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.util.concurrent.ForwardingFuture].get(long,java.util.concurrent.TimeUnit)"
    - "[com.google.common.util.concurrent.Futures$ImmediateFuture].get(long,java.util.concurrent.TimeUnit)"
    - "[com.google.common.util.concurrent.AbstractService$Transition].get(long,java.util.concurrent.TimeUnit)"
    - "[com.google.common.util.concurrent.Futures$2].get(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.spectator.impl.Scheduler$DelayedTask].get(long,java.util.concurrent.TimeUnit)"
    - "[com.google.common.util.concurrent.AbstractFuture].get(long,java.util.concurrent.TimeUnit)"
    - "[java.util.concurrent.ForkJoinTask].get(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.publish.CompositeMetricPoller].increment(java.lang.Throwable,java.lang.String)"
    - "[org.slf4j.event.EventRecodingLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[org.slf4j.helpers.SubstituteLogger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[com.google.common.util.concurrent.ForwardingFuture].cancel(boolean)"
    - "[com.google.common.util.concurrent.MoreExecutors$ScheduledListeningDecorator$ListenableScheduledTask].cancel(boolean)"
    - "[com.google.common.util.concurrent.Futures$ChainingListenableFuture].cancel(boolean)"
    - "[com.google.common.util.concurrent.Futures$2].cancel(boolean)"
    - "[com.google.common.util.concurrent.AbstractScheduledService$CustomScheduler$ReschedulableCallable].cancel(boolean)"
    - "[com.netflix.spectator.impl.Scheduler$DelayedTask].cancel(boolean)"
    - "[com.google.common.util.concurrent.Futures$FallbackFuture].cancel(boolean)"
    - "[com.google.common.util.concurrent.AbstractFuture].cancel(boolean)"
    - "[com.google.common.util.concurrent.Futures$ImmediateFuture:com.netflix.servo.publish.CompositeMetricPoller:java.util.concurrent.CompletableFuture:java.util.concurrent.CompletableFuture$MinimalStage:java.util.concurrent.ForkJoinTask:java.util.concurrent.FutureTask:javax.swing.SwingWorker:org.slf4j.helpers.NOPLogger].increment(java.lang.Throwable,java.lang.String)"
    - "[com.netflix.servo.publish.CompositeMetricPoller:org.slf4j.helpers.NOPLogger].increment(java.lang.Throwable,java.lang.String)"
    - "[java.util.concurrent.Future].get(long,java.util.concurrent.TimeUnit)"
    - "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.Future].cancel(boolean)"
    functionUses: 1
    ICount: 25
    EdgeCount: 24
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:74,1"
      Dst: "[java.util.concurrent.Future].get(long,java.util.concurrent.TimeUnit)"
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:76,1"
      Dst: "[com.netflix.servo.publish.CompositeMetricPoller].increment(java.lang.Throwable,java.lang.String)"
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:77,1"
      Dst: "[org.slf4j.Logger].warn(java.lang.String,java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:80,1"
      Dst: "[java.util.concurrent.Future].cancel(boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 5
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CompositeMetricPoller].poll(com.netflix.servo.publish.MetricFilter)"
    functionSourceFile: "com.netflix.servo.publish.CompositeMetricPoller"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.util.List<Metric>"
    argCount: 1
    argTypes:
    - "com.netflix.servo.publish.MetricFilter"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.CompositeMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:94,1"
      Dst: "[com.netflix.servo.publish.CompositeMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.CompositeMetricPoller].poll(com.netflix.servo.publish.MetricFilter,boolean)"
    functionSourceFile: "com.netflix.servo.publish.CompositeMetricPoller"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionDepth: 1
    returnType: "java.util.List<Metric>"
    argCount: 2
    argTypes:
    - "com.netflix.servo.publish.MetricFilter"
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.HashMap].<init>()"
    - "[com.google.common.collect.EnumHashBiMap].entrySet()"
    - "[com.google.common.collect.ForwardingMap].entrySet()"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].entrySet()"
    - "[com.google.common.collect.ImmutableMap].entrySet()"
    - "[com.google.common.collect.MapMakerInternalMap].entrySet()"
    - "[com.google.common.collect.Maps$ImprovedAbstractMap].entrySet()"
    - "[com.google.common.collect.EmptyImmutableBiMap].entrySet()"
    - "[com.google.common.collect.Maps$DescendingMap].entrySet()"
    - "[com.google.common.cache.LocalCache].entrySet()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap].entrySet()"
    - "[com.google.common.collect.MutableClassToInstanceMap].entrySet()"
    - "[com.google.common.collect.MapConstraints$ConstrainedMap].entrySet()"
    - "[com.google.common.collect.MapConstraints$ConstrainedMultimap$1].entrySet()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap].entrySet()"
    - "[com.google.common.collect.WellBehavedMap].entrySet()"
    - "[com.google.common.collect.HashBiMap].entrySet()"
    - "[com.google.common.collect.EnumBiMap].entrySet()"
    - "[com.google.common.collect.MapMaker$NullConcurrentMap].entrySet()"
    - "[com.google.common.collect.EmptyImmutableSortedMap].entrySet()"
    - "[com.google.common.collect.ImmutableSortedMap].entrySet()"
    - "[com.google.common.collect.AbstractBiMap].entrySet()"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].entrySet()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMap].entrySet()"
    - "[com.google.common.collect.HashBiMap$Inverse].entrySet()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets].entrySet()"
    - "[com.google.common.collect.AbstractNavigableMap].entrySet()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges].entrySet()"
    - "[java.util.WeakHashMap].entrySet()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[com.netflix.servo.publish.PollCallable].<init>(com.netflix.servo.publish.MetricPoller,com.netflix.servo.publish.MetricFilter,boolean)"
    - "[com.google.common.collect.StandardTable$Column$EntrySetIterator$1].getValue()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1$1$1].getValue()"
    - "[com.google.common.collect.ForwardingMapEntry].getValue()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1$1].getValue()"
    - "[com.google.common.collect.Maps$6].getValue()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet$1$1].getValue()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].getValue()"
    - "[com.google.common.collect.Maps$10].getValue()"
    - "[com.google.common.collect.MapConstraints$2].getValue()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1$1].getValue()"
    - "[java.util.TreeMap$Entry].getValue()"
    - "[com.google.common.collect.Maps$10].getKey()"
    - "[com.google.common.collect.ForwardingMapEntry].getKey()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1$1$1].getKey()"
    - "[com.google.common.collect.StandardTable$Column$EntrySetIterator$1].getKey()"
    - "[com.google.common.collect.Synchronized$SynchronizedEntry].getKey()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1$1].getKey()"
    - "[com.google.common.collect.Maps$6].getKey()"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.util.concurrent.ForwardingExecutorService].submit(java.util.concurrent.Callable)"
    - "[com.google.common.util.concurrent.WrappingExecutorService].submit(java.util.concurrent.Callable)"
    - "[com.google.common.util.concurrent.AbstractListeningExecutorService].submit(java.util.concurrent.Callable)"
    - "[com.google.common.util.concurrent.ForwardingListeningExecutorService].submit(java.util.concurrent.Callable)"
    - "[java.util.ArrayList].<init>()"
    - "[java.util.HashMap].entrySet()"
    - "[java.util.ArrayList].addAll(java.util.Collection)"
    - "[com.netflix.servo.publish.CompositeMetricPoller].getMetrics(java.lang.String,java.util.concurrent.Future)"
    - "[com.google.common.cache.LocalCache$WriteThroughEntry:com.google.common.cache.RemovalNotification:com.google.common.collect.HashBiMap$EntrySet$1$MapEntry:com.google.common.collect.HashBiMap$Inverse$1$1$InverseEntry:com.google.common.collect.ImmutableEntry:com.google.common.collect.LinkedListMultimap$Node:com.google.common.collect.MapMakerInternalMap$WriteThroughEntry:com.google.common.collect.TreeRangeMap$RangeMapEntry:java.util.HashMap$Node:java.util.Hashtable$Entry:java.util.TreeMap$Entry:java.util.WeakHashMap$Entry:java.util.concurrent.ConcurrentHashMap$Node].getValue()"
    - "[java.util.Map].entrySet()"
    - "[java.util.Set].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.Map$Entry].getValue()"
    - "[java.util.Map$Entry].getKey()"
    - "[java.util.concurrent.ExecutorService].submit(java.util.concurrent.Callable)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[java.util.List].addAll(java.util.Collection)"
    functionUses: 2
    ICount: 38
    EdgeCount: 481
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.CompositeMetricPoller:102"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.CompositeMetricPoller:107"
        BranchSideFuncs:
        - "submit(java.util.concurrent.Callable)"
        - "put(java.lang.Object,java.lang.Object)"
        - "<init>(com.netflix.servo.publish.MetricPoller,com.netflix.servo.publish.MetricFilter,boolean)"
      - BranchSide: "com.netflix.servo.publish.CompositeMetricPoller:106"
        BranchSideFuncs:
        - "hasNext()"
        - "<init>()"
        - "iterator()"
        - "next()"
        - "entrySet()"
    - Branch String: "com.netflix.servo.publish.CompositeMetricPoller:108"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.CompositeMetricPoller:111"
        BranchSideFuncs:
        - "hasNext()"
        - "iterator()"
        - "getMetrics(java.lang.String,java.util.concurrent.Future)"
        - "getValue()"
        - "next()"
        - "entrySet()"
        - "getKey()"
        - "addAll(java.util.Collection)"
      - BranchSide: "com.netflix.servo.publish.CompositeMetricPoller:110"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:101,1"
      Dst: "[java.util.HashMap].<init>()"
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:102,1"
      Dst: "[java.util.Map].entrySet()"
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:102,1"
      Dst: "[java.util.Set].iterator()"
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:102,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:102,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:103,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:103,1"
      Dst: "[com.netflix.servo.publish.PollCallable].<init>(com.netflix.servo.publish.MetricPoller,com.netflix.servo.publish.MetricFilter,boolean)"
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:104,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:104,1"
      Dst: "[java.util.concurrent.ExecutorService].submit(java.util.concurrent.Callable)"
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:104,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:107,1"
      Dst: "[java.util.ArrayList].<init>()"
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:109,1"
      Dst: "[com.netflix.servo.publish.CompositeMetricPoller].getMetrics(java.lang.String,java.util.concurrent.Future)"
    - Src: "com.netflix.servo.publish.CompositeMetricPoller:109,1"
      Dst: "[java.util.List].addAll(java.util.Collection)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.util.ClockWithOffset].values()"
    functionSourceFile: "com.netflix.servo.util.ClockWithOffset"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.util.ClockWithOffset[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].clone()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ClockWithOffset:26,1"
      Dst: "[java.lang.Object].clone()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ClockWithOffset].valueOf(java.lang.String)"
    functionSourceFile: "com.netflix.servo.util.ClockWithOffset"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.servo.util.ClockWithOffset"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ClockWithOffset:26,1"
      Dst: "[java.lang.Enum].valueOf(java.lang.Class,java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ClockWithOffset].<init>(java.lang.String,int)"
    functionSourceFile: "com.netflix.servo.util.ClockWithOffset"
    linkageType: ""
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Enum].<init>(java.lang.String,int)"
    functionUses: 1
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ClockWithOffset:26,1"
      Dst: "[java.lang.Enum].<init>(java.lang.String,int)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ClockWithOffset].setOffset(long)"
    functionSourceFile: "com.netflix.servo.util.ClockWithOffset"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 7
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.util.ClockWithOffset:40"
      Branch Sides:
      - BranchSide: "com.netflix.servo.util.ClockWithOffset:43"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.util.ClockWithOffset:42"
        BranchSideFuncs: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.util.ClockWithOffset].now()"
    functionSourceFile: "com.netflix.servo.util.ClockWithOffset"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.System].currentTimeMillis()"
    functionUses: 9
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ClockWithOffset:50,1"
      Dst: "[java.lang.System].currentTimeMillis()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ClockWithOffset].$values()"
    functionSourceFile: "com.netflix.servo.util.ClockWithOffset"
    linkageType: ""
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionDepth: 0
    returnType: "com.netflix.servo.util.ClockWithOffset[]"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 1
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: true
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.util.ExpiringCache$lambda_values_4__43].apply(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.util.ExpiringCache$lambda_values_4__43"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.ExpiringCache].lambda$values$4(com.netflix.servo.util.ExpiringCache$Entry)"
    functionUses: 6
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.util.ExpiringCache$lambda_values_4__43:-1,1"
      Dst: "[com.netflix.servo.util.ExpiringCache].lambda$values$4(com.netflix.servo.util.ExpiringCache$Entry)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer$newTimer__7].bootstrap$(com.netflix.servo.monitor.DynamicTimer)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer$newTimer__7"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "java.util.function.Function"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.DynamicTimer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DynamicTimer$newTimer__7].<init>(com.netflix.servo.monitor.DynamicTimer)"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer$newTimer__7:-1,1"
      Dst: "[com.netflix.servo.monitor.DynamicTimer$newTimer__7].<init>(com.netflix.servo.monitor.DynamicTimer)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer$newTimer__7].<init>(com.netflix.servo.monitor.DynamicTimer)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer$newTimer__7"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.DynamicTimer"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer$newTimer__7:-1,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.DynamicTimer$newTimer__7].apply(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.DynamicTimer$newTimer__7"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 11
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.DynamicTimer].newTimer(com.netflix.servo.monitor.DynamicTimer$ConfigUnit)"
    functionUses: 9
    ICount: 6
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.DynamicTimer$newTimer__7:-1,1"
      Dst: "[com.netflix.servo.monitor.DynamicTimer].newTimer(com.netflix.servo.monitor.DynamicTimer$ConfigUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$2].iterator()"
    functionSourceFile: "com.google.common.collect.Iterables$2"
    linkageType: ""
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionDepth: 3
    returnType: "java.util.Iterator"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterables].access$100(java.lang.Iterable)"
    - "[com.google.common.collect.Iterators].concat(java.util.Iterator)"
    functionUses: 56
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$2:494,1"
      Dst: "[com.google.common.collect.Iterables].access$100(java.lang.Iterable)"
    - Src: "com.google.common.collect.Iterables$2:494,1"
      Dst: "[com.google.common.collect.Iterators].concat(java.util.Iterator)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.histogram.BucketTimer].get(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id,java.util.function.LongFunction)"
    functionSourceFile: "com.netflix.spectator.api.histogram.BucketTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "com.netflix.spectator.api.histogram.BucketTimer"
    argCount: 3
    argTypes:
    - "com.netflix.spectator.api.Registry"
    - "com.netflix.spectator.api.Id"
    - "java.util.function.LongFunction"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.histogram.BucketTimer].<init>(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id,java.util.function.LongFunction)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:49,1"
      Dst: "[com.netflix.spectator.api.histogram.BucketTimer].<init>(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id,java.util.function.LongFunction)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.histogram.BucketTimer].<init>(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id,java.util.function.LongFunction)"
    functionSourceFile: "com.netflix.spectator.api.histogram.BucketTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.spectator.api.Registry"
    - "com.netflix.spectator.api.Id"
    - "java.util.function.LongFunction"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - "[com.netflix.spectator.api.histogram.BucketTimer$lambda_new_0__73].bootstrap$(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    functionUses: 0
    ICount: 14
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:59,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:63,1"
      Dst: "[java.util.concurrent.ConcurrentHashMap].<init>()"
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:64,1"
      Dst: "[com.netflix.spectator.api.histogram.BucketTimer$lambda_new_0__73].bootstrap$(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.histogram.BucketTimer].id()"
    functionSourceFile: "com.netflix.spectator.api.histogram.BucketTimer"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "com.netflix.spectator.api.Id"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 3
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.histogram.BucketTimer].measure()"
    functionSourceFile: "com.netflix.spectator.api.histogram.BucketTimer"
    linkageType: ""
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionDepth: 0
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Collections].emptyList()"
    functionUses: 4
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:72,1"
      Dst: "[java.util.Collections].emptyList()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.histogram.BucketTimer].hasExpired()"
    functionSourceFile: "com.netflix.spectator.api.histogram.BucketTimer"
    linkageType: ""
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 5
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.histogram.BucketTimer].record(long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.spectator.api.histogram.BucketTimer"
    linkageType: ""
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionDepth: 1
    returnType: "void"
    argCount: 2
    argTypes:
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.concurrent.TimeUnit].toNanos(long)"
    - "[com.netflix.spectator.api.histogram.BucketFunctions$ListBucketFunction].apply(long)"
    - "[com.netflix.spectator.api.CompositeTimer].record(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.spectator.api.SwapTimer].record(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.spectator.api.histogram.BucketTimer].record(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.servo.SpectatorContext$LazyTimer].record(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.spectator.api.histogram.PercentileTimer].record(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.spectator.api.DefaultTimer].record(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.spectator.api.NoopTimer].record(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.spectator.api.histogram.BucketTimer].timer(java.lang.String)"
    - "[java.util.function.LongFunction].apply(long)"
    - "[com.netflix.spectator.api.Timer].record(long,java.util.concurrent.TimeUnit)"
    functionUses: 8
    ICount: 10
    EdgeCount: 10
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:80,1"
      Dst: "[java.util.concurrent.TimeUnit].toNanos(long)"
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:81,1"
      Dst: "[java.util.function.LongFunction].apply(long)"
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:81,1"
      Dst: "[com.netflix.spectator.api.histogram.BucketTimer].timer(java.lang.String)"
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:81,1"
      Dst: "[com.netflix.spectator.api.Timer].record(long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.histogram.BucketTimer].timer(java.lang.String)"
    functionSourceFile: "com.netflix.spectator.api.histogram.BucketTimer"
    linkageType: ""
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionDepth: 0
    returnType: "com.netflix.spectator.api.Timer"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.Utils].computeIfAbsent(java.util.concurrent.ConcurrentMap,java.lang.Object,java.util.function.Function)"
    functionUses: 1
    ICount: 7
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:108,1"
      Dst: "[com.netflix.spectator.api.Utils].computeIfAbsent(java.util.concurrent.ConcurrentMap,java.lang.Object,java.util.function.Function)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.histogram.BucketTimer].record(java.util.concurrent.Callable)"
    functionSourceFile: "com.netflix.spectator.api.histogram.BucketTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 2
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.util.concurrent.Callable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.Registry].clock()"
    - "[com.netflix.spectator.api.Clock].monotonicTime()"
    - "[java.util.concurrent.Callable].call()"
    - "[com.netflix.spectator.api.histogram.BucketTimer].record(long,java.util.concurrent.TimeUnit)"
    functionUses: 0
    ICount: 17
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:85,1"
      Dst: "[com.netflix.spectator.api.Registry].clock()"
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:86,1"
      Dst: "[com.netflix.spectator.api.Clock].monotonicTime()"
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:88,1"
      Dst: "[java.util.concurrent.Callable].call()"
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:91,1"
      Dst: "[com.netflix.spectator.api.histogram.BucketTimer].record(long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 2
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.histogram.BucketTimer].record(java.lang.Runnable)"
    functionSourceFile: "com.netflix.spectator.api.histogram.BucketTimer"
    linkageType: ""
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionDepth: 2
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Runnable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.ExtendedRegistry].clock()"
    - "[com.netflix.spectator.api.NoopRegistry].clock()"
    - "[com.netflix.spectator.api.CompositeRegistry].clock()"
    - "[com.netflix.spectator.api.ManualClock].monotonicTime()"
    - "[com.netflix.spectator.api.SystemClock].monotonicTime()"
    - "[org.testng.SuiteRunnerWorker].run()"
    - "[java.lang.Thread].run()"
    - "[com.google.common.util.concurrent.ExecutionQueue$RunnableExecutorPair].run()"
    - "[org.testng.internal.InvokeMethodRunnable].run()"
    - "[com.google.common.util.concurrent.Futures$CombinedFuture$2].run()"
    - "[com.netflix.servo.publish.PollRunnable].run()"
    - "[com.google.common.util.concurrent.MoreExecutors$Application$1].run()"
    - "[com.google.common.util.concurrent.MoreExecutors$1].run()"
    - "[com.netflix.spectator.impl.Scheduler$Worker$lambda_run_0__38].run()"
    - "[com.google.common.cache.LocalCache$Segment$1].run()"
    - "[org.testng.SuiteRunner$SuiteWorker].run()"
    - "[bsh.util.Httpd].run()"
    - "[jdk.internal.misc.InnocuousThread].run()"
    - "[com.google.common.util.concurrent.WrappingExecutorService$1].run()"
    - "[bsh.util.JConsole$2].run()"
    - "[com.netflix.spectator.impl.Scheduler$Worker].run()"
    - "[junit.swingui.TestRunner$15].run()"
    - "[bsh.util.JConsole$3].run()"
    - "[junit.swingui.TestRunner$16].run()"
    - "[bsh.util.HttpdConnection].run()"
    - "[org.testng.internal.PoolService$1].run()"
    - "[junit.extensions.ActiveTestSuite$1].run()"
    - "[com.netflix.spectator.api.patterns.GaugePoller$lambda_schedule_0__29].run()"
    - "[junit.swingui.TestRunner$18].run()"
    - "[com.google.common.util.concurrent.Futures$CombinedFuture$1].run()"
    - "[jdk.internal.logger.BootstrapLogger$BootstrapExecutors$BootstrapMessageLoggerTask].run()"
    - "[com.google.common.util.concurrent.AbstractIdleService$2$1].run()"
    - "[bsh.Interpreter].run()"
    - "[com.google.common.util.concurrent.Futures$ChainingListenableFuture$1].run()"
    - "[com.google.common.util.concurrent.AbstractScheduledService$1$4].run()"
    - "[com.google.common.util.concurrent.AbstractService$8].run()"
    - "[junit.awtui.TestRunner$10].run()"
    - "[com.google.common.eventbus.AsyncEventBus$1].run()"
    - "[org.testng.internal.TestMethodWorker].run()"
    - "[com.google.common.util.concurrent.AbstractScheduledService$1$3].run()"
    - "[junit.swingui.TestRunner$2].run()"
    - "[com.google.common.util.concurrent.Futures$ChainingListenableFuture].run()"
    - "[com.google.common.util.concurrent.JdkFutureAdapters$ListenableFutureAdapter$1].run()"
    - "[com.google.common.collect.MapMakerInternalMap$CleanupMapTask].run()"
    - "[com.netflix.servo.util.ExpiringCache$lambda_new_2__22].run()"
    - "[jdk.internal.perf.Perf$CleanerAction].run()"
    - "[bsh.util.SessiondConnection].run()"
    - "[com.netflix.servo.publish.AsyncMetricObserver$UpdateProcessor].run()"
    - "[junit.swingui.TestRunner$17].run()"
    - "[com.google.common.util.concurrent.AbstractScheduledService$1$1].run()"
    - "[com.netflix.servo.util.ThreadCpuStats$CpuStatRunnable].run()"
    - "[com.google.common.util.concurrent.AbstractIdleService$2$2].run()"
    - "[com.google.common.util.concurrent.AbstractService$7].run()"
    - "[org.testng.remote.RemoteSuiteWorker].run()"
    - "[com.netflix.spectator.api.patterns.GaugePoller$lambda_schedule_1__30].run()"
    - "[junit.swingui.TestRunner$14].run()"
    - "[junit.swingui.TestRunner$3].run()"
    - "[bsh.util.Sessiond].run()"
    - "[bsh.This].run()"
    - "[bsh.util.AWTConsole].run()"
    - "[junit.swingui.TestRunner$1].run()"
    - "[com.google.common.util.concurrent.Callables$3].run()"
    - "[com.google.common.util.concurrent.AbstractService$6].run()"
    - "[junit.swingui.TestSuitePanel$1].run()"
    - "[com.google.common.base.internal.Finalizer].run()"
    - "[com.google.common.util.concurrent.AbstractExecutionThreadService$1$2].run()"
    - "[bsh.util.JConsole].run()"
    - "[com.google.common.util.concurrent.AbstractService$10].run()"
    - "[com.google.common.util.concurrent.MoreExecutors$ScheduledListeningDecorator$NeverSuccessfulListenableFutureTask].run()"
    - "[com.google.common.cache.RemovalListeners$1$1].run()"
    - "[com.google.common.util.concurrent.Futures$4].run()"
    - "[org.testng.TestRunner$1].run()"
    - "[org.testng.remote.strprotocol.AbstractRemoteTestRunnerClient$ServerConnection].run()"
    - "[bsh.util.JConsole$4].run()"
    - "[com.google.common.util.concurrent.AbstractService$9].run()"
    - "[jdk.internal.misc.Signal$1].run()"
    - "[org.testng.internal.thread.ThreadUtil$CountDownLatchedRunnable].run()"
    - "[bsh.util.JConsole$5].run()"
    - "[jdk.internal.ref.CleanerImpl].run()"
    - "[org.testng.remote.strprotocol.BaseMessageSender$ReaderThread].run()"
    - "[com.netflix.spectator.api.histogram.BucketTimer].record(long,java.util.concurrent.TimeUnit)"
    - "[com.netflix.spectator.api.Registry].clock()"
    - "[com.netflix.spectator.api.Clock].monotonicTime()"
    - "[java.lang.Runnable].run()"
    functionUses: 1
    ICount: 18
    EdgeCount: 86
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:96,1"
      Dst: "[com.netflix.spectator.api.Registry].clock()"
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:97,1"
      Dst: "[com.netflix.spectator.api.Clock].monotonicTime()"
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:99,1"
      Dst: "[java.lang.Runnable].run()"
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:102,1"
      Dst: "[com.netflix.spectator.api.histogram.BucketTimer].record(long,java.util.concurrent.TimeUnit)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.histogram.BucketTimer].count()"
    functionSourceFile: "com.netflix.spectator.api.histogram.BucketTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.histogram.BucketTimer].totalTime()"
    functionSourceFile: "com.netflix.spectator.api.histogram.BucketTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "long"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.spectator.api.histogram.BucketTimer].lambda$new$0(com.netflix.spectator.api.Registry,com.netflix.spectator.api.Id,java.lang.String)"
    functionSourceFile: "com.netflix.spectator.api.histogram.BucketTimer"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "com.netflix.spectator.api.Timer"
    argCount: 3
    argTypes:
    - "com.netflix.spectator.api.Registry"
    - "com.netflix.spectator.api.Id"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.spectator.api.Id].withTag(java.lang.String,java.lang.String)"
    - "[com.netflix.spectator.api.Registry].timer(com.netflix.spectator.api.Id)"
    functionUses: 0
    ICount: 6
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:64,1"
      Dst: "[com.netflix.spectator.api.Id].withTag(java.lang.String,java.lang.String)"
    - Src: "com.netflix.spectator.api.histogram.BucketTimer:64,1"
      Dst: "[com.netflix.spectator.api.Registry].timer(com.netflix.spectator.api.Id)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyCounter].actualCount()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyCounter"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "double"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyCounter].get()"
    - "[com.netflix.spectator.api.Counter].actualCount()"
    functionUses: 0
    ICount: 4
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyCounter:292,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyCounter].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyCounter:292,1"
      Dst: "[com.netflix.spectator.api.Counter].actualCount()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyCounter].id()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyCounter"
    linkageType: ""
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionDepth: 1
    returnType: "com.netflix.spectator.api.Id"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyCounter].get()"
    - "[com.netflix.spectator.api.patterns.IntervalCounter].id()"
    - "[com.netflix.servo.SpectatorContext$LazyCounter].id()"
    - "[com.netflix.spectator.api.NoopCounter].id()"
    - "[com.netflix.spectator.api.CompositeMeter].id()"
    - "[com.netflix.spectator.impl.SwapMeter].id()"
    - "[com.netflix.spectator.api.DefaultCounter].id()"
    - "[com.netflix.spectator.api.Meter].id()"
    functionUses: 8
    ICount: 4
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyCounter:296,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyCounter].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyCounter:296,1"
      Dst: "[com.netflix.spectator.api.Meter].id()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyCounter].measure()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyCounter"
    linkageType: ""
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionDepth: 1
    returnType: "java.lang.Iterable"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyCounter].get()"
    - "[com.netflix.spectator.api.CompositeMeter].measure()"
    - "[com.netflix.servo.SpectatorContext$LazyCounter].measure()"
    - "[com.netflix.spectator.impl.SwapMeter].measure()"
    - "[com.netflix.spectator.api.patterns.IntervalCounter].measure()"
    - "[com.netflix.spectator.api.DefaultCounter].measure()"
    - "[com.netflix.spectator.api.NoopCounter].measure()"
    - "[com.netflix.spectator.api.Meter].measure()"
    functionUses: 4
    ICount: 4
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyCounter:300,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyCounter].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyCounter:300,1"
      Dst: "[com.netflix.spectator.api.Meter].measure()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.SpectatorContext$LazyCounter].hasExpired()"
    functionSourceFile: "com.netflix.servo.SpectatorContext$LazyCounter"
    linkageType: ""
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionDepth: 1
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.SpectatorContext$LazyCounter].get()"
    - "[com.netflix.spectator.impl.SwapMeter].hasExpired()"
    - "[com.netflix.spectator.api.CompositeMeter].hasExpired()"
    - "[com.netflix.servo.SpectatorContext$LazyCounter].hasExpired()"
    - "[com.netflix.spectator.api.DefaultCounter].hasExpired()"
    - "[com.netflix.spectator.api.patterns.IntervalCounter].hasExpired()"
    - "[com.netflix.spectator.api.NoopCounter].hasExpired()"
    - "[com.netflix.spectator.api.Meter].hasExpired()"
    functionUses: 4
    ICount: 4
    EdgeCount: 7
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.SpectatorContext$LazyCounter:304,1"
      Dst: "[com.netflix.servo.SpectatorContext$LazyCounter].get()"
    - Src: "com.netflix.servo.SpectatorContext$LazyCounter:304,1"
      Dst: "[com.netflix.spectator.api.Meter].hasExpired()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$15].apply(java.lang.Iterable)"
    functionSourceFile: "com.google.common.collect.Iterables$15"
    linkageType: ""
    functionLinenumber: 1025
    functionLinenumberEnd: 1027
    functionDepth: 0
    returnType: "java.util.Iterator"
    argCount: 1
    argTypes:
    - "java.lang.Iterable"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[com.google.common.collect.AbstractBiMap$KeySet].iterator()"
    - "[com.google.common.collect.ImmutableMultiset].iterator()"
    - "[com.google.common.collect.Sets$DescendingSet].iterator()"
    - "[com.google.common.collect.RegularContiguousSet].iterator()"
    - "[com.google.common.collect.LinkedListMultimap$2].iterator()"
    - "[com.google.common.collect.Iterables$9].iterator()"
    - "[com.google.common.collect.SingletonImmutableSet].iterator()"
    - "[com.google.common.cache.LocalCache$WriteQueue].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$KeySet].iterator()"
    - "[com.google.common.collect.Maps$KeySet].iterator()"
    - "[com.google.common.collect.RegularImmutableSet].iterator()"
    - "[com.google.common.collect.ImmutableMapKeySet].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$2].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultiset].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$Values].iterator()"
    - "[com.netflix.servo.tag.BasicTagList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.Sets$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$2].iterator()"
    - "[com.google.common.collect.Iterables$12].iterator()"
    - "[com.google.common.collect.Collections2$OrderedPermutationCollection].iterator()"
    - "[java.util.TreeMap$EntrySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries].iterator()"
    - "[com.google.common.collect.TreeMultiset].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$KeySet].iterator()"
    - "[com.google.common.collect.Iterables$14].iterator()"
    - "[com.google.common.reflect.MutableTypeToInstanceMap$UnmodifiableEntry$1].iterator()"
    - "[com.google.common.collect.ImmutableSetMultimap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$11].iterator()"
    - "[com.google.common.collect.Iterables$5].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet].iterator()"
    - "[java.util.ServiceLoader].iterator()"
    - "[com.google.common.collect.Iterables$6].iterator()"
    - "[com.google.common.collect.TreeTraverser$2].iterator()"
    - "[com.google.common.collect.DescendingImmutableSortedSet].iterator()"
    - "[com.google.common.collect.Iterables$7].iterator()"
    - "[com.google.common.collect.HashMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnKeySet].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries].iterator()"
    - "[com.google.common.collect.ArrayTable$ArrayMap$1].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$2].iterator()"
    - "[com.netflix.servo.tag.SortedTagList].iterator()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.MinMaxPriorityQueue].iterator()"
    - "[com.netflix.spectator.api.CompositeRegistry].iterator()"
    - "[com.google.common.collect.FluentIterable$1].iterator()"
    - "[com.netflix.spectator.api.AbstractRegistry].iterator()"
    - "[com.google.common.collect.Multimaps$Keys].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedSet].iterator()"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges$1].iterator()"
    - "[com.google.common.collect.TreeTraverser$3].iterator()"
    - "[com.google.common.collect.AbstractMultiset$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$8].iterator()"
    - "[com.netflix.spectator.api.ExtendedRegistry].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$EvictionQueue].iterator()"
    - "[com.google.common.collect.Iterables$4].iterator()"
    - "[com.google.common.collect.Sets$2].iterator()"
    - "[com.google.common.collect.Multisets$FilteredMultiset].iterator()"
    - "[javax.print.MimeType$ParameterMapEntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset].iterator()"
    - "[com.google.common.collect.StandardTable$Column$EntrySet].iterator()"
    - "[java.util.concurrent.PriorityBlockingQueue].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$KeySetView].iterator()"
    - "[com.google.common.collect.AbstractTable$Values].iterator()"
    - "[com.google.common.collect.Sets$PowerSet].iterator()"
    - "[com.google.common.collect.AbstractSortedMultiset$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.Maps$AsMapView$1].iterator()"
    - "[com.google.common.collect.ImmutableMultiset$EntrySet].iterator()"
    - "[java.nio.file.Path].iterator()"
    - "[com.google.common.collect.StandardTable$RowMap$EntrySet].iterator()"
    - "[com.google.common.collect.EmptyContiguousSet].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries].iterator()"
    - "[java.util.ArrayDeque].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$ValuesView].iterator()"
    - "[com.google.common.collect.AbstractNavigableMap$1].iterator()"
    - "[com.google.common.base.Converter$1].iterator()"
    - "[java.util.concurrent.LinkedBlockingDeque].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$InverseKeySet].iterator()"
    - "[com.google.common.collect.EnumMultiset].iterator()"
    - "[java.util.concurrent.DelayQueue].iterator()"
    - "[java.util.PriorityQueue].iterator()"
    - "[com.google.common.collect.Collections2$PermutationCollection].iterator()"
    - "[java.util.HashSet].iterator()"
    - "[com.netflix.spectator.api.NoopRegistry].iterator()"
    - "[com.google.common.collect.RegularImmutableMap$EntrySet].iterator()"
    - "[com.google.common.collect.Iterables$10].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$ExpirationQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedSet].iterator()"
    - "[com.google.common.base.Optional$1].iterator()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet].iterator()"
    - "[com.google.common.collect.Iterables$UnmodifiableIterable].iterator()"
    - "[com.google.common.collect.StandardTable$ColumnMap$ColumnMapEntrySet].iterator()"
    - "[com.google.common.collect.EmptyImmutableSet].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[com.google.common.collect.ConcurrentHashMultiset].iterator()"
    - "[com.google.common.cache.LocalCache$EntrySet].iterator()"
    - "[java.util.concurrent.CopyOnWriteArraySet].iterator()"
    - "[com.google.common.collect.Sets$SubSet].iterator()"
    - "[com.google.common.collect.Sets$3].iterator()"
    - "[com.google.common.collect.ImmutableEnumMap$2].iterator()"
    - "[com.netflix.servo.tag.SmallTagMap].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap$2].iterator()"
    - "[com.google.common.collect.WellBehavedMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$NodeIterable].iterator()"
    - "[com.google.common.collect.ImmutableRangeSet$AsSet].iterator()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1].iterator()"
    - "[com.google.common.collect.Collections2$TransformedCollection].iterator()"
    - "[com.google.common.collect.AbstractTable$CellSet].iterator()"
    - "[com.google.common.collect.Maps$TransformedEntriesMap$1].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries].iterator()"
    - "[java.util.concurrent.LinkedBlockingQueue].iterator()"
    - "[com.google.common.collect.RegularImmutableTable$CellSet].iterator()"
    - "[com.google.common.collect.Multimaps$Keys$KeysEntrySet].iterator()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1].iterator()"
    - "[com.google.common.collect.ImmutableMultimap$EntryCollection].iterator()"
    - "[com.google.common.collect.ImmutableMapValues].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues].iterator()"
    - "[com.google.common.collect.RegularImmutableSortedMap$EntrySet].iterator()"
    - "[com.google.common.collect.TreeTraverser$1].iterator()"
    - "[com.google.common.collect.FilteredMultimapValues].iterator()"
    - "[com.google.common.collect.EmptyImmutableSortedMultiset].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.io.CharSource$CharSequenceCharSource$1].iterator()"
    - "[com.google.common.collect.Maps$DescendingMap$1].iterator()"
    - "[com.google.common.collect.AbstractBiMap$ValueSet].iterator()"
    - "[com.google.common.collect.MapMakerInternalMap$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Entries].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[com.google.common.cache.LocalCache$AccessQueue].iterator()"
    - "[com.google.common.base.Splitter$5].iterator()"
    - "[com.netflix.spectator.api.TagList].iterator()"
    - "[com.google.common.collect.ImmutableEnumSet].iterator()"
    - "[org.yaml.snakeyaml.Loader$YamlIterable].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap$1].iterator()"
    - "[com.google.common.collect.Multisets$UnmodifiableMultiset].iterator()"
    - "[com.google.common.collect.BinaryTreeTraverser$1].iterator()"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2].iterator()"
    - "[com.google.common.cache.LocalCache$Values].iterator()"
    - "[com.google.common.collect.AbstractMultimap$Values].iterator()"
    - "[com.google.common.collect.Multimaps$AsMap$EntrySet].iterator()"
    - "[com.google.common.collect.HashBiMap$Inverse$1].iterator()"
    - "[java.util.concurrent.ConcurrentHashMap$EntrySetView].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues].iterator()"
    - "[java.util.concurrent.ConcurrentLinkedQueue].iterator()"
    - "[java.util.concurrent.SynchronousQueue].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries].iterator()"
    - "[java.util.TreeMap$KeySet].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.Maps$Values].iterator()"
    - "[java.util.concurrent.ArrayBlockingQueue].iterator()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet].iterator()"
    - "[com.google.common.collect.DescendingMultiset$1].iterator()"
    - "[com.google.common.collect.Iterables$13].iterator()"
    - "[java.util.TreeSet].iterator()"
    - "[com.google.common.cache.LocalCache$2].iterator()"
    - "[com.google.common.collect.Iterables$1].iterator()"
    - "[com.google.common.collect.RegularImmutableBiMap$1].iterator()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet].iterator()"
    - "[com.google.common.collect.Multisets$ElementSet].iterator()"
    - "[com.google.common.collect.AbstractMultiset].iterator()"
    - "[com.google.common.collect.Collections2$FilteredCollection].iterator()"
    - "[com.google.common.collect.FilteredEntryMultimap$Keys$1].iterator()"
    - "[com.google.common.collect.HashBiMap$KeySet].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[com.google.common.collect.Maps$FilteredEntryMap$EntrySet].iterator()"
    - "[org.yaml.snakeyaml.Loader$EventIterable].iterator()"
    - "[java.lang.Iterable].iterator()"
    functionUses: 1
    ICount: 4
    EdgeCount: 178
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$15:1026,1"
      Dst: "[java.lang.Iterable].iterator()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.google.common.collect.Iterables$15].apply(java.lang.Object)"
    functionSourceFile: "com.google.common.collect.Iterables$15"
    linkageType: ""
    functionLinenumber: 1022
    functionLinenumberEnd: 1024
    functionDepth: 1
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.Iterables$15].apply(java.lang.Iterable)"
    functionUses: 27
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.google.common.collect.Iterables$15:1023,1"
      Dst: "[com.google.common.collect.Iterables$15].apply(java.lang.Iterable)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform].newCounter(java.lang.String)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform"
    linkageType: ""
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionDepth: 9
    returnType: "com.netflix.servo.monitor.Counter"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitors].newCounter(java.lang.String)"
    - "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    - "[com.netflix.servo.jmx.JmxMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.DefaultMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.BasicMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.NoopMonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    - "[com.netflix.servo.MonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    functionUses: 1
    ICount: 5
    EdgeCount: 6
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform:51,1"
      Dst: "[com.netflix.servo.monitor.Monitors].newCounter(java.lang.String)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:52,1"
      Dst: "[com.netflix.servo.DefaultMonitorRegistry].getInstance()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:52,1"
      Dst: "[com.netflix.servo.MonitorRegistry].register(com.netflix.servo.monitor.Monitor)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform].<init>(com.netflix.servo.publish.MetricObserver,long,long)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "com.netflix.servo.publish.MetricObserver"
    - "long"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.NormalizationTransform].<init>(com.netflix.servo.publish.MetricObserver,long,long,java.util.concurrent.TimeUnit,com.netflix.servo.util.Clock)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform:78,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform].<init>(com.netflix.servo.publish.MetricObserver,long,long,java.util.concurrent.TimeUnit,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform].<init>(com.netflix.servo.publish.MetricObserver,long,long,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.netflix.servo.publish.MetricObserver"
    - "long"
    - "long"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.NormalizationTransform].<init>(com.netflix.servo.publish.MetricObserver,long,long,java.util.concurrent.TimeUnit,com.netflix.servo.util.Clock)"
    functionUses: 0
    ICount: 9
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform:97,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform].<init>(com.netflix.servo.publish.MetricObserver,long,long,java.util.concurrent.TimeUnit,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform].<init>(com.netflix.servo.publish.MetricObserver,long,long,java.util.concurrent.TimeUnit)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 4
    argTypes:
    - "com.netflix.servo.publish.MetricObserver"
    - "long"
    - "long"
    - "java.util.concurrent.TimeUnit"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.NormalizationTransform].<init>(com.netflix.servo.publish.MetricObserver,long,long,java.util.concurrent.TimeUnit,com.netflix.servo.util.Clock)"
    functionUses: 0
    ICount: 8
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform:114,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform].<init>(com.netflix.servo.publish.MetricObserver,long,long,java.util.concurrent.TimeUnit,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform].<init>(com.netflix.servo.publish.MetricObserver,long,long,java.util.concurrent.TimeUnit,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 5
    argTypes:
    - "com.netflix.servo.publish.MetricObserver"
    - "long"
    - "long"
    - "java.util.concurrent.TimeUnit"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    - "[java.util.concurrent.TimeUnit].toMillis(long)"
    - "[com.netflix.servo.publish.NormalizationTransform$1].<init>(com.netflix.servo.publish.NormalizationTransform,int,float,boolean,com.netflix.servo.util.Clock)"
    functionUses: 0
    ICount: 32
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.NormalizationTransform:134"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:132"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:131"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.NormalizationTransform:136"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:134"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:133"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform:132,1"
      Dst: "[java.lang.Object].<init>()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:133,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:134,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkArgument(boolean,java.lang.String)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:135,1"
      Dst: "[java.util.concurrent.TimeUnit].toMillis(long)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:139,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform$1].<init>(com.netflix.servo.publish.NormalizationTransform,int,float,boolean,com.netflix.servo.util.Clock)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 7
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.publish.NormalizationTransform].getDataSourceType(com.netflix.servo.Metric)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform"
    linkageType: ""
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionDepth: 1
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "com.netflix.servo.Metric"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.Metric].getConfig()"
    - "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - "[com.netflix.servo.tag.SortedTagList].getValue(java.lang.String)"
    - "[com.netflix.servo.tag.BasicTagList].getValue(java.lang.String)"
    - "[com.netflix.servo.tag.TagList].getValue(java.lang.String)"
    functionUses: 1
    ICount: 9
    EdgeCount: 4
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.NormalizationTransform:160"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:163"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:162"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform:158,1"
      Dst: "[com.netflix.servo.Metric].getConfig()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:158,1"
      Dst: "[com.netflix.servo.monitor.MonitorConfig].getTags()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:159,1"
      Dst: "[com.netflix.servo.tag.TagList].getValue(java.lang.String)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform].isGauge(java.lang.String)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform"
    linkageType: ""
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.Enum].name()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform:168,1"
      Dst: "[java.lang.Enum].name()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:168,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform].isRate(java.lang.String)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform"
    linkageType: ""
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.Enum].name()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform:172,1"
      Dst: "[java.lang.Enum].name()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:172,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform].isNormalized(java.lang.String)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform"
    linkageType: ""
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.Enum].name()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform:176,1"
      Dst: "[java.lang.Enum].name()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:176,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform].isInformational(java.lang.String)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform"
    linkageType: ""
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.String].equals(java.lang.Object)"
    - "[java.lang.Enum].name()"
    functionUses: 1
    ICount: 5
    EdgeCount: 2
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform:180,1"
      Dst: "[java.lang.Enum].name()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:180,1"
      Dst: "[java.lang.String].equals(java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform].normalize(com.netflix.servo.Metric,long)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform"
    linkageType: ""
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionDepth: 3
    returnType: "com.netflix.servo.Metric"
    argCount: 2
    argTypes:
    - "com.netflix.servo.Metric"
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.google.common.collect.HashBiMap$Inverse].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$ColumnMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$NavigableAsMapView].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row].get(java.lang.Object)"
    - "[java.util.jar.Attributes].get(java.lang.Object)"
    - "[com.google.common.cache.LocalCache].get(java.lang.Object)"
    - "[javax.swing.MultiUIDefaults].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$ComplementRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.HashBiMap].get(java.lang.Object)"
    - "[java.util.TreeMap].get(java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets].get(java.lang.Object)"
    - "[com.google.common.collect.SingletonImmutableBiMap].get(java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$ArrayMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$RowMap].get(java.lang.Object)"
    - "[java.util.AbstractMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$RangesByUpperBound].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullComputingConcurrentMap].get(java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].get(java.lang.Object)"
    - "[java.util.EnumMap].get(java.lang.Object)"
    - "[java.util.WeakHashMap].get(java.lang.Object)"
    - "[java.util.HashMap].get(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$SubRangeMap$SubRangeMapAsMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableBiMap].get(java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Column].get(java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedMultimap$1].get(java.lang.Object)"
    - "[java.util.Hashtable].get(java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullConcurrentMap].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeMap$AsMapOfRanges].get(java.lang.Object)"
    - "[com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AsMapView].get(java.lang.Object)"
    - "[java.security.Provider].get(java.lang.Object)"
    - "[java.awt.RenderingHints].get(java.lang.Object)"
    - "[com.google.common.collect.Multimaps$AsMap].get(java.lang.Object)"
    - "[java.util.LinkedHashMap].get(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableSortedMap].get(java.lang.Object)"
    - "[com.google.common.collect.FilteredEntryMultimap$AsMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableSortedMap].get(java.lang.Object)"
    - "[com.google.common.collect.ImmutableEnumMap].get(java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$AbstractFilteredMap].get(java.lang.Object)"
    - "[com.google.common.collect.EmptyImmutableBiMap].get(java.lang.Object)"
    - "[java.util.Properties].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$TransformedEntriesMap].get(java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].get(java.lang.Object)"
    - "[com.google.common.collect.RegularImmutableBiMap$Inverse].get(java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMap].get(java.lang.Object)"
    - "[java.util.IdentityHashMap].get(java.lang.Object)"
    - "[com.google.common.collect.DenseImmutableTable$ImmutableArrayMap].get(java.lang.Object)"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap].get(java.lang.Object)"
    - "[com.google.common.collect.MapMaker$ComputingMapAdapter].get(java.lang.Object)"
    - "[javax.swing.UIDefaults].get(java.lang.Object)"
    - "[com.netflix.servo.Metric].getConfig()"
    - "[com.netflix.servo.publish.NormalizationTransform$NormalizedValue].<init>(com.netflix.servo.publish.NormalizationTransform,com.netflix.servo.publish.NormalizationTransform$1)"
    - "[com.google.common.collect.ArrayTable$ArrayMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.HashBiMap$Inverse].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapMakerInternalMap].put(java.lang.Object,java.lang.Object)"
    - "[java.security.Provider].put(java.lang.Object,java.lang.Object)"
    - "[java.util.HashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Synchronized$SynchronizedMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Row].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapConstraints$ConstrainedMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.EnumHashBiMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.reflect.MutableTypeToInstanceMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.WeakHashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ForwardingMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.cache.LocalCache].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$RowMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ImmutableMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Maps$AbstractFilteredMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.EnumMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.AbstractMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.Maps$FilteredEntryNavigableMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.StandardTable$Column].put(java.lang.Object,java.lang.Object)"
    - "[java.util.TreeMap].put(java.lang.Object,java.lang.Object)"
    - "[javax.swing.UIDefaults].put(java.lang.Object,java.lang.Object)"
    - "[java.util.concurrent.ConcurrentHashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.AbstractBiMap].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Properties].put(java.lang.Object,java.lang.Object)"
    - "[java.util.IdentityHashMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.HashBiMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.MapMaker$NullConcurrentMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.ArrayTable$ColumnMap].put(java.lang.Object,java.lang.Object)"
    - "[com.google.common.collect.TreeBasedTable$TreeRow].put(java.lang.Object,java.lang.Object)"
    - "[java.awt.RenderingHints].put(java.lang.Object,java.lang.Object)"
    - "[java.util.Hashtable].put(java.lang.Object,java.lang.Object)"
    - "[java.util.jar.Attributes].put(java.lang.Object,java.lang.Object)"
    - "[com.netflix.servo.Metric].getTimestamp()"
    - "[com.netflix.servo.publish.NormalizationTransform$NormalizedValue].updateAndGet(long,double)"
    - "[java.lang.Integer].doubleValue()"
    - "[java.lang.Long].doubleValue()"
    - "[java.util.concurrent.atomic.LongAdder].doubleValue()"
    - "[java.lang.Float].doubleValue()"
    - "[com.google.common.util.concurrent.AtomicDouble].doubleValue()"
    - "[java.lang.Double].doubleValue()"
    - "[java.math.BigDecimal].doubleValue()"
    - "[com.google.common.primitives.UnsignedInteger].doubleValue()"
    - "[java.util.concurrent.atomic.AtomicInteger].doubleValue()"
    - "[java.lang.Short].doubleValue()"
    - "[java.util.concurrent.atomic.AtomicLong].doubleValue()"
    - "[com.google.common.cache.LongAdder].doubleValue()"
    - "[com.netflix.spectator.impl.AtomicDouble].doubleValue()"
    - "[java.lang.Byte].doubleValue()"
    - "[java.math.BigInteger].doubleValue()"
    - "[com.google.common.primitives.UnsignedLong].doubleValue()"
    - "[com.netflix.servo.Metric].getNumberValue()"
    - "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - "[java.lang.Double].valueOf(double)"
    - "[java.util.Map].get(java.lang.Object)"
    - "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - "[java.lang.Number].doubleValue()"
    functionUses: 1
    ICount: 23
    EdgeCount: 112
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.NormalizationTransform:185"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:190"
        BranchSideFuncs:
        - "put(java.lang.Object,java.lang.Object)"
        - "<init>(com.netflix.servo.publish.NormalizationTransform,com.netflix.servo.publish.NormalizationTransform$1)"
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:189"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
        - "doubleValue()"
        - "getNumberValue()"
        - "updateAndGet(long,double)"
        - "getTimestamp()"
        - "valueOf(double)"
        - "getConfig()"
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform:184,1"
      Dst: "[com.netflix.servo.Metric].getConfig()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:184,1"
      Dst: "[java.util.Map].get(java.lang.Object)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:186,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform$NormalizedValue].<init>(com.netflix.servo.publish.NormalizationTransform,com.netflix.servo.publish.NormalizationTransform$1)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:187,1"
      Dst: "[java.util.Map].put(java.lang.Object,java.lang.Object)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:190,1"
      Dst: "[com.netflix.servo.Metric].getTimestamp()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:191,1"
      Dst: "[com.netflix.servo.Metric].getNumberValue()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:191,1"
      Dst: "[java.lang.Number].doubleValue()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:190,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform$NormalizedValue].updateAndGet(long,double)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:192,1"
      Dst: "[java.lang.Double].valueOf(double)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:192,1"
      Dst: "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 3
    CyclomaticComplexity: 2
  - functionName: "[com.netflix.servo.publish.NormalizationTransform].update(java.util.List<Metric>)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform"
    linkageType: ""
    functionLinenumber: 199
    functionLinenumberEnd: 222
    functionDepth: 4
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.util.List<Metric>"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - "[java.util.ArrayList].<init>(int)"
    - "[com.google.common.collect.Lists$StringAsImmutableList].size()"
    - "[com.google.common.collect.LinkedListMultimap$4].size()"
    - "[com.google.common.primitives.Longs$LongArrayAsList].size()"
    - "[com.google.common.collect.LinkedListMultimap$1].size()"
    - "[com.google.common.collect.Lists$AbstractListWrapper].size()"
    - "[com.google.common.collect.Sets$CartesianSet$1].size()"
    - "[com.google.common.base.Joiner$3].size()"
    - "[com.google.common.collect.ImmutableRangeMap$1].size()"
    - "[com.google.common.collect.ForwardingCollection].size()"
    - "[java.util.concurrent.CopyOnWriteArrayList].size()"
    - "[com.google.common.primitives.Bytes$ByteArrayAsList].size()"
    - "[com.google.common.collect.ImmutableAsList].size()"
    - "[com.google.common.collect.CartesianList$1].size()"
    - "[com.google.common.collect.Lists$CharSequenceAsList].size()"
    - "[com.google.common.collect.Lists$Partition].size()"
    - "[com.google.common.collect.Lists$ReverseList].size()"
    - "[com.google.common.collect.RegularImmutableTable$Values].size()"
    - "[com.google.common.collect.CartesianList].size()"
    - "[com.google.common.primitives.Shorts$ShortArrayAsList].size()"
    - "[com.google.common.primitives.Doubles$DoubleArrayAsList].size()"
    - "[com.google.common.primitives.Ints$IntArrayAsList].size()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].size()"
    - "[com.google.common.collect.RegularImmutableList].size()"
    - "[java.util.LinkedList].size()"
    - "[com.google.common.collect.Lists$TransformingSequentialList].size()"
    - "[com.google.common.collect.SingletonImmutableList].size()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].size()"
    - "[com.google.common.primitives.Chars$CharArrayAsList].size()"
    - "[java.util.ArrayList].size()"
    - "[com.google.common.collect.Lists$OnePlusArrayList].size()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].size()"
    - "[com.google.common.collect.LinkedListMultimap$3].size()"
    - "[com.google.common.collect.ImmutableList$SubList].size()"
    - "[com.google.common.primitives.Booleans$BooleanArrayAsList].size()"
    - "[com.google.common.collect.Lists$TwoPlusArrayList].size()"
    - "[com.google.common.primitives.Floats$FloatArrayAsList].size()"
    - "[sun.awt.util.IdentityArrayList].size()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].size()"
    - "[java.util.Vector].size()"
    - "[com.google.common.collect.ImmutableRangeSet$ComplementRanges].size()"
    - "[com.google.common.collect.ImmutableRangeSet$1].size()"
    - "[com.netflix.spectator.api.FilteredIterator].hasNext()"
    - "[com.google.common.collect.Iterators$PeekingImpl].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].hasNext()"
    - "[com.google.common.collect.Iterators$3].hasNext()"
    - "[com.google.common.collect.AbstractIndexedListIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].hasNext()"
    - "[org.testng.internal.ArrayIterator].hasNext()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].hasNext()"
    - "[com.google.common.collect.Iterators$4].hasNext()"
    - "[com.google.common.collect.Iterables$10$1].hasNext()"
    - "[com.google.common.collect.Iterators$12].hasNext()"
    - "[com.google.common.collect.Lists$ReverseList$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].hasNext()"
    - "[com.google.common.collect.LinkedHashMultimap$1].hasNext()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].hasNext()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].hasNext()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].hasNext()"
    - "[com.google.common.collect.Iterators$9].hasNext()"
    - "[org.yaml.snakeyaml.Loader$1].hasNext()"
    - "[com.google.common.collect.ForwardingIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$2].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].hasNext()"
    - "[com.google.common.cache.LocalCache$HashIterator].hasNext()"
    - "[com.google.common.collect.TreeMultiset$3].hasNext()"
    - "[java.nio.file.Files$2].hasNext()"
    - "[com.google.common.collect.Iterators$5].hasNext()"
    - "[com.google.common.collect.Iterators$6].hasNext()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].hasNext()"
    - "[com.google.common.collect.Iterators$13].hasNext()"
    - "[com.google.common.collect.StandardTable$CellIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].hasNext()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].hasNext()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].hasNext()"
    - "[java.nio.file.FileTreeIterator].hasNext()"
    - "[org.yaml.snakeyaml.Loader$3].hasNext()"
    - "[com.google.common.collect.Maps$1].hasNext()"
    - "[com.google.common.collect.TransformedIterator].hasNext()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].hasNext()"
    - "[com.google.common.base.AbstractIterator].hasNext()"
    - "[com.google.common.collect.AbstractIterator].hasNext()"
    - "[com.google.common.collect.Sets$SubSet$1].hasNext()"
    - "[org.yaml.snakeyaml.Loader$2].hasNext()"
    - "[com.google.common.collect.AbstractSequentialIterator].hasNext()"
    - "[java.io.BufferedReader$1].hasNext()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].hasNext()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].hasNext()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].hasNext()"
    - "[com.google.common.collect.ImmutableMultiset$1].hasNext()"
    - "[com.google.common.collect.Iterators$2].hasNext()"
    - "[com.google.common.collect.MapMakerInternalMap$HashIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].hasNext()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].hasNext()"
    - "[com.google.common.collect.Iterators$1].hasNext()"
    - "[com.google.common.collect.Iterators$MergingIterator].hasNext()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].hasNext()"
    - "[com.google.common.collect.HashBiMap$Itr].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].hasNext()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].hasNext()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].hasNext()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].hasNext()"
    - "[com.google.common.base.Converter$1$1].hasNext()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].hasNext()"
    - "[com.google.common.collect.Iterators$10].hasNext()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].hasNext()"
    - "[jdk.internal.module.ModuleBootstrap$2].hasNext()"
    - "[com.netflix.spectator.api.TagList$1].hasNext()"
    - "[com.google.common.collect.ForwardingCollection].iterator()"
    - "[com.google.common.collect.Lists$ReverseList].iterator()"
    - "[java.util.Vector].iterator()"
    - "[com.google.common.collect.ImmutableList$SubList].iterator()"
    - "[com.google.common.collect.SingletonImmutableList].iterator()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection].iterator()"
    - "[java.util.ArrayList].iterator()"
    - "[com.google.common.collect.Lists$TransformingRandomAccessList].iterator()"
    - "[com.google.common.collect.ImmutableList].iterator()"
    - "[com.google.common.collect.ImmutableList$ReverseImmutableList].iterator()"
    - "[com.google.common.collect.Synchronized$SynchronizedCollection].iterator()"
    - "[java.util.AbstractSequentialList].iterator()"
    - "[java.util.concurrent.CopyOnWriteArrayList].iterator()"
    - "[java.util.AbstractList].iterator()"
    - "[com.google.common.collect.MapConstraints$ConstrainedEntries$1].next()"
    - "[com.google.common.collect.AbstractIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$1].next()"
    - "[org.yaml.snakeyaml.Loader$2].next()"
    - "[com.google.common.collect.AbstractSequentialIterator].next()"
    - "[com.google.common.collect.Iterators$6].next()"
    - "[org.yaml.snakeyaml.Loader$3].next()"
    - "[com.google.common.collect.HashBiMap$Itr].next()"
    - "[com.google.common.collect.StandardTable$Row$RowEntrySet$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$Itr].next()"
    - "[com.netflix.servo.tag.SmallTagMap$SmallTagIterator].next()"
    - "[com.google.common.collect.Iterators$5].next()"
    - "[com.google.common.collect.LinkedListMultimap$NodeIterator].next()"
    - "[com.google.common.collect.Iterators$2].next()"
    - "[com.google.common.collect.MapMakerInternalMap$KeyIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator].next()"
    - "[com.google.common.collect.Maps$UnmodifiableEntries$1].next()"
    - "[com.google.common.collect.Multisets$MultisetIteratorImpl].next()"
    - "[com.google.common.collect.TreeMultiset$2].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapValues$1].next()"
    - "[com.google.common.collect.TreeTraverser$BreadthFirstIterator].next()"
    - "[com.google.common.collect.AbstractMapBasedMultimap$KeySet$1].next()"
    - "[com.google.common.collect.LinkedListMultimap$DistinctKeyIterator].next()"
    - "[com.google.common.base.Converter$1$1].next()"
    - "[com.google.common.collect.Iterators$1].next()"
    - "[com.google.common.collect.TreeTraverser$PreOrderIterator].next()"
    - "[com.google.common.collect.Iterators$4].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapValues$1].next()"
    - "[com.google.common.cache.LocalCache$EntryIterator].next()"
    - "[org.testng.internal.ArrayIterator].next()"
    - "[com.google.common.collect.AbstractIndexedListIterator].next()"
    - "[com.google.common.collect.Iterators$9].next()"
    - "[com.google.common.collect.ImmutableMap$MapViewOfValuesAsSingletonSets$1$1].next()"
    - "[com.google.common.collect.TransformedIterator].next()"
    - "[com.netflix.spectator.api.FilteredIterator].next()"
    - "[com.google.common.collect.Iterators$13].next()"
    - "[com.google.common.collect.TreeMultiset$3].next()"
    - "[com.netflix.spectator.api.TagList$1].next()"
    - "[com.google.common.collect.AbstractBiMap$EntrySet$1].next()"
    - "[com.google.common.collect.Iterators$12].next()"
    - "[com.google.common.collect.MapMakerInternalMap$EntryIterator].next()"
    - "[com.google.common.cache.LocalCache$ValueIterator].next()"
    - "[com.google.common.collect.Maps$1].next()"
    - "[com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1].next()"
    - "[com.google.common.collect.ImmutableMultimap$Itr].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PostOrderIterator].next()"
    - "[com.google.common.collect.MapMakerInternalMap$ValueIterator].next()"
    - "[com.google.common.collect.ConcurrentHashMultiset$3].next()"
    - "[com.google.common.collect.ForwardingNavigableMap$StandardDescendingMap$1].next()"
    - "[com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator].next()"
    - "[com.google.common.collect.Iterators$PeekingImpl].next()"
    - "[java.nio.file.Files$2].next()"
    - "[com.google.common.collect.LinkedHashMultimap$ValueSet$1].next()"
    - "[org.yaml.snakeyaml.Loader$1].next()"
    - "[com.google.common.collect.Iterators$3].next()"
    - "[com.google.common.collect.BinaryTreeTraverser$PreOrderIterator].next()"
    - "[jdk.internal.module.ModuleBootstrap$2].next()"
    - "[com.google.common.collect.Multimaps$MapMultimap$1$1].next()"
    - "[java.io.BufferedReader$1].next()"
    - "[com.google.common.cache.LocalCache$KeyIterator].next()"
    - "[com.google.common.collect.ForwardingIterator].next()"
    - "[com.google.common.collect.Iterators$MergingIterator].next()"
    - "[com.google.common.collect.ImmutableEnumMap$2$1].next()"
    - "[com.google.common.collect.MinMaxPriorityQueue$QueueIterator].next()"
    - "[com.google.common.collect.LinkedListMultimap$ValueForKeyIterator].next()"
    - "[com.google.common.collect.StandardTable$CellIterator].next()"
    - "[com.google.common.collect.MapConstraints$ConstrainedAsMapEntries$1].next()"
    - "[java.nio.file.FileTreeIterator].next()"
    - "[com.google.common.collect.Lists$ReverseList$1].next()"
    - "[com.google.common.collect.ImmutableMultiset$1].next()"
    - "[com.google.common.collect.Iterators$10].next()"
    - "[com.netflix.spectator.api.CompositeRegistry$1].next()"
    - "[com.google.common.collect.Sets$SubSet$1].next()"
    - "[com.google.common.base.AbstractIterator].next()"
    - "[com.google.common.collect.Iterables$10$1].next()"
    - "[com.google.common.collect.LinkedHashMultimap$1].next()"
    - "[java.util.concurrent.ArrayBlockingQueue$Itr].next()"
    - "[com.netflix.servo.Metric].getTimestamp()"
    - "[com.netflix.servo.publish.NormalizationTransform].getDataSourceType(com.netflix.servo.Metric)"
    - "[com.netflix.servo.publish.NormalizationTransform].isGauge(java.lang.String)"
    - "[com.netflix.servo.publish.NormalizationTransform].isInformational(java.lang.String)"
    - "[com.netflix.servo.publish.NormalizationTransform].isNormalized(java.lang.String)"
    - "[com.netflix.servo.publish.NormalizationTransform].isRate(java.lang.String)"
    - "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - "[com.netflix.servo.Metric].getConfig()"
    - "[com.netflix.servo.Metric].getValue()"
    - "[javax.management.AttributeList].add(java.lang.Object)"
    - "[java.util.ArrayList].add(java.lang.Object)"
    - "[com.netflix.servo.publish.NormalizationTransform].normalize(com.netflix.servo.Metric,long)"
    - "[com.netflix.servo.publish.CounterToRateMetricTransform].update(java.util.List)"
    - "[com.netflix.servo.publish.MetricTransformObserver].update(java.util.List)"
    - "[com.netflix.servo.publish.NormalizationTransform].update(java.util.List)"
    - "[com.netflix.servo.publish.BaseMetricObserver].update(java.util.List)"
    - "[java.util.List].size()"
    - "[java.util.List].iterator()"
    - "[java.util.Iterator].hasNext()"
    - "[java.util.Iterator].next()"
    - "[java.util.List].add(java.lang.Object)"
    - "[com.netflix.servo.publish.MetricObserver].update(java.util.List)"
    functionUses: 5
    ICount: 40
    EdgeCount: 225
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.NormalizationTransform:203"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:220"
        BranchSideFuncs:
        - "isInformational(java.lang.String)"
        - "hasNext()"
        - "next()"
        - "isGauge(java.lang.String)"
        - "isRate(java.lang.String)"
        - "iterator()"
        - "getDataSourceType(com.netflix.servo.Metric)"
        - "getTimestamp()"
        - "isNormalized(java.lang.String)"
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:219"
        BranchSideFuncs:
        - "update(java.util.List)"
    - Branch String: "com.netflix.servo.publish.NormalizationTransform:207"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:208"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
        - "getValue()"
        - "getConfig()"
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:207"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
        - "getValue()"
        - "getConfig()"
    - Branch String: "com.netflix.servo.publish.NormalizationTransform:207"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:203"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
        - "getValue()"
        - "getConfig()"
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:202"
        BranchSideFuncs:
        - "isInformational(java.lang.String)"
        - "hasNext()"
        - "next()"
        - "isGauge(java.lang.String)"
        - "isRate(java.lang.String)"
        - "iterator()"
        - "getDataSourceType(com.netflix.servo.Metric)"
        - "getTimestamp()"
        - "isNormalized(java.lang.String)"
    - Branch String: "com.netflix.servo.publish.NormalizationTransform:207"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:203"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
        - "getValue()"
        - "getConfig()"
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:202"
        BranchSideFuncs:
        - "isInformational(java.lang.String)"
        - "hasNext()"
        - "next()"
        - "isGauge(java.lang.String)"
        - "isRate(java.lang.String)"
        - "iterator()"
        - "getDataSourceType(com.netflix.servo.Metric)"
        - "getTimestamp()"
        - "isNormalized(java.lang.String)"
    - Branch String: "com.netflix.servo.publish.NormalizationTransform:212"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:215"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:214"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.NormalizationTransform:207"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:219"
        BranchSideFuncs:
        - "<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
        - "getValue()"
        - "getConfig()"
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform:218"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform:200,1"
      Dst: "[com.netflix.servo.util.Preconditions].checkNotNull(java.lang.Object,java.lang.String)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:201,1"
      Dst: "[java.util.List].size()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:201,1"
      Dst: "[java.util.ArrayList].<init>(int)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:203,1"
      Dst: "[java.util.List].iterator()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:203,1"
      Dst: "[java.util.Iterator].hasNext()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:203,1"
      Dst: "[java.util.Iterator].next()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:204,1"
      Dst: "[com.netflix.servo.Metric].getTimestamp()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:206,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform].getDataSourceType(com.netflix.servo.Metric)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:207,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform].isGauge(java.lang.String)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:207,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform].isNormalized(java.lang.String)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:208,1"
      Dst: "[com.netflix.servo.Metric].getConfig()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:208,1"
      Dst: "[com.netflix.servo.Metric].getValue()"
    - Src: "com.netflix.servo.publish.NormalizationTransform:208,1"
      Dst: "[com.netflix.servo.Metric].<init>(com.netflix.servo.monitor.MonitorConfig,long,java.lang.Object)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:209,1"
      Dst: "[java.util.List].add(java.lang.Object)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:207,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform].isRate(java.lang.String)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:211,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform].normalize(com.netflix.servo.Metric,long)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:207,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform].isInformational(java.lang.String)"
    - Src: "com.netflix.servo.publish.NormalizationTransform:220,1"
      Dst: "[com.netflix.servo.publish.MetricObserver].update(java.util.List)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 13
    CyclomaticComplexity: 7
  - functionName: "[com.netflix.servo.publish.NormalizationTransform].getName()"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform"
    linkageType: ""
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.publish.CounterToRateMetricTransform].getName()"
    - "[com.netflix.servo.publish.NormalizationTransform].getName()"
    - "[com.netflix.servo.publish.BaseMetricObserver].getName()"
    - "[com.netflix.servo.publish.MetricTransformObserver].getName()"
    - "[com.netflix.servo.publish.MetricObserver].getName()"
    functionUses: 3
    ICount: 4
    EdgeCount: 4
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform:228,1"
      Dst: "[com.netflix.servo.publish.MetricObserver].getName()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform].access$200()"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "org.slf4j.Logger"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 2
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform$1].<init>(com.netflix.servo.publish.NormalizationTransform,int,float,boolean,com.netflix.servo.util.Clock)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 5
    argTypes:
    - "com.netflix.servo.publish.NormalizationTransform"
    - "int"
    - "float"
    - "boolean"
    - "com.netflix.servo.util.Clock"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.LinkedHashMap].<init>(int,float,boolean)"
    functionUses: 0
    ICount: 10
    EdgeCount: 0
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform$1:139,1"
      Dst: "[java.util.LinkedHashMap].<init>(int,float,boolean)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.publish.NormalizationTransform$1].removeEldestEntry(java.util.Map$Entry)"
    functionSourceFile: "com.netflix.servo.publish.NormalizationTransform$1"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 1
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.util.Map$Entry"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.util.Map$Entry].getValue()"
    - "[com.netflix.servo.publish.NormalizationTransform$NormalizedValue].access$000(com.netflix.servo.publish.NormalizationTransform$NormalizedValue)"
    - "[com.netflix.servo.util.Clock].now()"
    - "[com.netflix.servo.publish.NormalizationTransform].access$100(com.netflix.servo.publish.NormalizationTransform)"
    - "[com.netflix.servo.monitor.Counter].increment()"
    - "[com.netflix.servo.publish.NormalizationTransform].access$200()"
    - "[java.util.Map$Entry].getKey()"
    - "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object)"
    functionUses: 0
    ICount: 30
    EdgeCount: 0
    BranchProfiles:
    - Branch String: "com.netflix.servo.publish.NormalizationTransform$1:142"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$1:146"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$1:145"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.NormalizationTransform$1:147"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$1:-1"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$1:-2"
        BranchSideFuncs: []
    - Branch String: "com.netflix.servo.publish.NormalizationTransform$1:148"
      Branch Sides:
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$1:152"
        BranchSideFuncs: []
      - BranchSide: "com.netflix.servo.publish.NormalizationTransform$1:151"
        BranchSideFuncs: []
    Callsites:
    - Src: "com.netflix.servo.publish.NormalizationTransform$1:141,1"
      Dst: "[java.util.Map$Entry].getValue()"
    - Src: "com.netflix.servo.publish.NormalizationTransform$1:141,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform$NormalizedValue].access$000(com.netflix.servo.publish.NormalizationTransform$NormalizedValue)"
    - Src: "com.netflix.servo.publish.NormalizationTransform$1:146,1"
      Dst: "[com.netflix.servo.util.Clock].now()"
    - Src: "com.netflix.servo.publish.NormalizationTransform$1:147,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform].access$100(com.netflix.servo.publish.NormalizationTransform)"
    - Src: "com.netflix.servo.publish.NormalizationTransform$1:149,1"
      Dst: "[com.netflix.servo.monitor.Counter].increment()"
    - Src: "com.netflix.servo.publish.NormalizationTransform$1:150,1"
      Dst: "[com.netflix.servo.publish.NormalizationTransform].access$200()"
    - Src: "com.netflix.servo.publish.NormalizationTransform$1:150,1"
      Dst: "[java.util.Map$Entry].getKey()"
    - Src: "com.netflix.servo.publish.NormalizationTransform$1:150,1"
      Dst: "[org.slf4j.Logger].debug(java.lang.String,java.lang.Object)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 8
    CyclomaticComplexity: 3
  - functionName: "[com.netflix.servo.monitor.Monitors$CounterFactory].<init>()"
    functionSourceFile: "com.netflix.servo.monitor.Monitors$CounterFactory"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[java.lang.Object].<init>()"
    functionUses: 1
    ICount: 3
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors$CounterFactory:68,1"
      Dst: "[java.lang.Object].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors$CounterFactory].apply(com.netflix.servo.monitor.MonitorConfig)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors$CounterFactory"
    linkageType: ""
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionDepth: 8
    returnType: "com.netflix.servo.monitor.Counter"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.MonitorConfig"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.BasicCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 1
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors$CounterFactory:70,1"
      Dst: "[com.netflix.servo.monitor.BasicCounter].<init>(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors$CounterFactory].apply(java.lang.Object)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors$CounterFactory"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionDepth: 9
    returnType: "java.lang.Object"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitors$CounterFactory].apply(com.netflix.servo.monitor.MonitorConfig)"
    functionUses: 27
    ICount: 5
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors$CounterFactory:68,1"
      Dst: "[com.netflix.servo.monitor.Monitors$CounterFactory].apply(com.netflix.servo.monitor.MonitorConfig)"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[com.netflix.servo.monitor.Monitors$CounterFactory].<init>(com.netflix.servo.monitor.Monitors$1)"
    functionSourceFile: "com.netflix.servo.monitor.Monitors$CounterFactory"
    linkageType: ""
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "com.netflix.servo.monitor.Monitors$1"
    constantsTouched: []
    argNames: []
    functionsReached:
    - "[com.netflix.servo.monitor.Monitors$CounterFactory].<init>()"
    functionUses: 1
    ICount: 4
    EdgeCount: 1
    BranchProfiles: []
    Callsites:
    - Src: "com.netflix.servo.monitor.Monitors$CounterFactory:68,1"
      Dst: "[com.netflix.servo.monitor.Monitors$CounterFactory].<init>()"
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: false
      concrete: true
      javaLibraryMethod: false
      classConcrete: true
      classEnum: false
    BBCount: 1
    CyclomaticComplexity: 1
  - functionName: "[java.lang.Runtime].exec(java.lang.String)"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String,java.lang.String[])"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String,java.lang.String[],java.io.File)"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 408
    functionLinenumberEnd: 417
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String[]"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String[])"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String[],java.lang.String[])"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 2
    argTypes:
    - "java.lang.String[]"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.Runtime].exec(java.lang.String[],java.lang.String[],java.io.File)"
    functionSourceFile: "java.lang.Runtime"
    linkageType: ""
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 3
    argTypes:
    - "java.lang.String[]"
    - "java.lang.String[]"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.OutputStream].write(int)"
    functionSourceFile: "java.io.OutputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.OutputStream].write(byte[])"
    functionSourceFile: "java.io.OutputStream"
    linkageType: ""
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.OutputStream].write(byte[],int,int)"
    functionSourceFile: "java.io.OutputStream"
    linkageType: ""
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedWriter].write(int)"
    functionSourceFile: "java.io.BufferedWriter"
    linkageType: ""
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedWriter].write(char[],int,int)"
    functionSourceFile: "java.io.BufferedWriter"
    linkageType: ""
    functionLinenumber: 169
    functionLinenumberEnd: 199
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "char[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedWriter].write(java.lang.String,int,int)"
    functionSourceFile: "java.io.BufferedWriter"
    linkageType: ""
    functionLinenumber: 222
    functionLinenumberEnd: 237
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 478
    functionLinenumberEnd: 491
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(char[],int,int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 504
    functionLinenumberEnd: 517
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "char[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(char[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(java.lang.String,int,int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 539
    functionLinenumberEnd: 552
    functionDepth: 0
    returnType: "void"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].write(java.lang.String)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(boolean)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 590
    functionLinenumberEnd: 593
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(char)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 602
    functionLinenumberEnd: 605
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(long)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 630
    functionLinenumberEnd: 633
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(float)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(double)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 658
    functionLinenumberEnd: 661
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(char[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 672
    functionLinenumberEnd: 675
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(java.lang.String)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 685
    functionLinenumberEnd: 688
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].print(java.lang.Object)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 699
    functionLinenumberEnd: 702
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println()"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 711
    functionLinenumberEnd: 714
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(boolean)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 722
    functionLinenumberEnd: 728
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(char)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 736
    functionLinenumberEnd: 742
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(int)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 750
    functionLinenumberEnd: 756
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(long)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 764
    functionLinenumberEnd: 770
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "long"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(float)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 778
    functionLinenumberEnd: 784
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "float"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(double)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 792
    functionLinenumberEnd: 798
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "double"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(char[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 806
    functionLinenumberEnd: 812
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "char[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(java.lang.String)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 820
    functionLinenumberEnd: 826
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].println(java.lang.Object)"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 836
    functionLinenumberEnd: 843
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Object"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].printf(java.lang.String,java.lang.Object[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 888
    functionLinenumberEnd: 890
    functionDepth: 0
    returnType: "java.io.PrintWriter"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.PrintWriter].printf(java.util.Locale,java.lang.String,java.lang.Object[])"
    functionSourceFile: "java.io.PrintWriter"
    linkageType: ""
    functionLinenumber: 941
    functionLinenumberEnd: 943
    functionDepth: 0
    returnType: "java.io.PrintWriter"
    argCount: 3
    argTypes:
    - "java.util.Locale"
    - "java.lang.String"
    - "java.lang.Object[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Paths].get(java.lang.String,java.lang.String[])"
    functionSourceFile: "java.nio.file.Paths"
    linkageType: ""
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Paths].get(java.net.URI)"
    functionSourceFile: "java.nio.file.Paths"
    linkageType: ""
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 1
    argTypes:
    - "java.net.URI"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].command(java.util.List)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.util.List"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].command(java.lang.String[])"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.lang.String[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].command()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionDepth: 0
    returnType: "java.util.List"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].directory()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionDepth: 0
    returnType: "java.io.File"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].directory(java.io.File)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectInput(java.lang.ProcessBuilder$Redirect)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 759
    functionLinenumberEnd: 766
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.lang.ProcessBuilder$Redirect"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectOutput(java.lang.ProcessBuilder$Redirect)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 790
    functionLinenumberEnd: 796
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.lang.ProcessBuilder$Redirect"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectError(java.lang.ProcessBuilder$Redirect)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 824
    functionLinenumberEnd: 830
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.lang.ProcessBuilder$Redirect"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectInput(java.io.File)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 845
    functionLinenumberEnd: 847
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectOutput(java.io.File)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 862
    functionLinenumberEnd: 864
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectError(java.io.File)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 879
    functionLinenumberEnd: 881
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectInput()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 893
    functionLinenumberEnd: 895
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder$Redirect"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectOutput()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 907
    functionLinenumberEnd: 909
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder$Redirect"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectError()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 921
    functionLinenumberEnd: 923
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder$Redirect"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].inheritIO()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 947
    functionLinenumberEnd: 950
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectErrorStream()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 966
    functionLinenumberEnd: 968
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].redirectErrorStream(boolean)"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 984
    functionLinenumberEnd: 987
    functionDepth: 0
    returnType: "java.lang.ProcessBuilder"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].start()"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 1070
    functionLinenumberEnd: 1072
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.ProcessBuilder].start(java.lang.ProcessBuilder$Redirect[])"
    functionSourceFile: "java.lang.ProcessBuilder"
    linkageType: ""
    functionLinenumber: 1084
    functionLinenumberEnd: 1129
    functionDepth: 0
    returnType: "java.lang.Process"
    argCount: 1
    argTypes:
    - "java.lang.ProcessBuilder$Redirect[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].<init>(java.io.Reader,int)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.Reader"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].<init>(java.io.Reader)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.io.Reader"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].read()"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 177
    functionLinenumberEnd: 196
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].read(char[],int,int)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 277
    functionLinenumberEnd: 296
    functionDepth: 0
    returnType: "int"
    argCount: 3
    argTypes:
    - "char[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].readLine(boolean)"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 314
    functionLinenumberEnd: 375
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "boolean"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.BufferedReader].readLine()"
    functionSourceFile: "java.io.BufferedReader"
    linkageType: ""
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.util.concurrent.Executor].execute(java.lang.Runnable)"
    functionSourceFile: "java.util.concurrent.Executor"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.Runnable"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].console()"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionDepth: 0
    returnType: "java.io.Console"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getSecurityManager()"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionDepth: 0
    returnType: "java.lang.SecurityManager"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getProperties()"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 729
    functionLinenumberEnd: 736
    functionDepth: 0
    returnType: "java.util.Properties"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getProperty(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 826
    functionLinenumberEnd: 834
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getProperty(java.lang.String,java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 861
    functionLinenumberEnd: 869
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getenv(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 1010
    functionLinenumberEnd: 1017
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].getenv()"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 1059
    functionLinenumberEnd: 1066
    functionDepth: 0
    returnType: "java.util.Map"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].runFinalization()"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 1812
    functionLinenumberEnd: 1815
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].load(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 1853
    functionLinenumberEnd: 1856
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].loadLibrary(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: 1889
    functionLinenumberEnd: 1892
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.lang.System].mapLibraryName(java.lang.String)"
    functionSourceFile: "java.lang.System"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.String"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.InputStream].<init>()"
    functionSourceFile: "java.io.InputStream"
    linkageType: ""
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.InputStream].read()"
    functionSourceFile: "java.io.InputStream"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "int"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.InputStream].read(byte[])"
    functionSourceFile: "java.io.InputStream"
    linkageType: ""
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionDepth: 0
    returnType: "int"
    argCount: 1
    argTypes:
    - "byte[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.InputStream].read(byte[],int,int)"
    functionSourceFile: "java.io.InputStream"
    linkageType: ""
    functionLinenumber: 265
    functionLinenumberEnd: 289
    functionDepth: 0
    returnType: "int"
    argCount: 3
    argTypes:
    - "byte[]"
    - "int"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: true
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createFile(java.nio.file.Path,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 647
    functionLinenumberEnd: 650
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createDirectory(java.nio.file.Path,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createDirectories(java.nio.file.Path,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 742
    functionLinenumberEnd: 786
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createTempFile(java.nio.file.Path,java.lang.String,java.lang.String,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 867
    functionLinenumberEnd: 869
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 4
    argTypes:
    - "java.nio.file.Path"
    - "java.lang.String"
    - "java.lang.String"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createTempFile(java.lang.String,java.lang.String,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 912
    functionLinenumberEnd: 914
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createTempDirectory(java.nio.file.Path,java.lang.String,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 965
    functionLinenumberEnd: 967
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.nio.file.Path"
    - "java.lang.String"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createTempDirectory(java.lang.String,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1006
    functionLinenumberEnd: 1008
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createSymbolicLink(java.nio.file.Path,java.nio.file.Path,java.nio.file.attribute.FileAttribute[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1058
    functionLinenumberEnd: 1061
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.Path"
    - "java.nio.file.attribute.FileAttribute[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].createLink(java.nio.file.Path,java.nio.file.Path)"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1101
    functionLinenumberEnd: 1104
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 2
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.Path"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].delete(java.nio.file.Path)"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1141
    functionLinenumberEnd: 1144
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.nio.file.Path"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].deleteIfExists(java.nio.file.Path)"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1180
    functionLinenumberEnd: 1182
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.nio.file.Path"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].move(java.nio.file.Path,java.nio.file.Path,java.nio.file.CopyOption[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 1418
    functionLinenumberEnd: 1428
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.nio.file.Path"
    - "java.nio.file.Path"
    - "java.nio.file.CopyOption[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].write(java.nio.file.Path,byte[],java.nio.file.OpenOption[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 3422
    functionLinenumberEnd: 3435
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.nio.file.Path"
    - "byte[]"
    - "java.nio.file.OpenOption[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].write(java.nio.file.Path,java.lang.Iterable,java.nio.charset.Charset,java.nio.file.OpenOption[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 3487
    functionLinenumberEnd: 3498
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 4
    argTypes:
    - "java.nio.file.Path"
    - "java.lang.Iterable"
    - "java.nio.charset.Charset"
    - "java.nio.file.OpenOption[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].write(java.nio.file.Path,java.lang.Iterable,java.nio.file.OpenOption[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 3540
    functionLinenumberEnd: 3542
    functionDepth: 0
    returnType: "java.nio.file.Path"
    argCount: 3
    argTypes:
    - "java.nio.file.Path"
    - "java.lang.Iterable"
    - "java.nio.file.OpenOption[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.nio.file.Files].find(java.nio.file.Path,int,java.util.function.BiPredicate,java.nio.file.FileVisitOption[])"
    functionSourceFile: "java.nio.file.Files"
    linkageType: ""
    functionLinenumber: 3941
    functionLinenumberEnd: 3953
    functionDepth: 0
    returnType: "java.util.stream.Stream"
    argCount: 4
    argTypes:
    - "java.nio.file.Path"
    - "int"
    - "java.util.function.BiPredicate"
    - "java.nio.file.FileVisitOption[]"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.lang.String,int)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "int"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.lang.String,java.io.File)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: false
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.lang.String)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.lang.String,java.lang.String)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 315
    functionLinenumberEnd: 333
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.io.File,java.lang.String)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 358
    functionLinenumberEnd: 376
    functionDepth: 0
    returnType: "void"
    argCount: 2
    argTypes:
    - "java.io.File"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].<init>(java.net.URI)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 413
    functionLinenumberEnd: 441
    functionDepth: 0
    returnType: "void"
    argCount: 1
    argTypes:
    - "java.net.URI"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].createNewFile()"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 1029
    functionLinenumberEnd: 1036
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].delete()"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 1056
    functionLinenumberEnd: 1065
    functionDepth: 0
    returnType: "boolean"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].deleteOnExit()"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 1094
    functionLinenumberEnd: 1104
    functionDepth: 0
    returnType: "void"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].renameTo(java.io.File)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 1436
    functionLinenumberEnd: 1449
    functionDepth: 0
    returnType: "boolean"
    argCount: 1
    argTypes:
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions: []
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].createTempFile(java.lang.String,java.lang.String,java.io.File)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 2102
    functionLinenumberEnd: 2133
    functionDepth: 0
    returnType: "java.io.File"
    argCount: 3
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    - "java.io.File"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.io.File].createTempFile(java.lang.String,java.lang.String)"
    functionSourceFile: "java.io.File"
    linkageType: ""
    functionLinenumber: 2174
    functionLinenumberEnd: 2176
    functionDepth: 0
    returnType: "java.io.File"
    argCount: 2
    argTypes:
    - "java.lang.String"
    - "java.lang.String"
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.io.IOException"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: true
      public: true
      classPublic: true
      concrete: true
      javaLibraryMethod: true
      classConcrete: true
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
  - functionName: "[java.util.concurrent.Callable].call()"
    functionSourceFile: "java.util.concurrent.Callable"
    linkageType: ""
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionDepth: 0
    returnType: "java.lang.Object"
    argCount: 0
    argTypes: []
    constantsTouched: []
    argNames: []
    functionsReached: []
    functionUses: 0
    ICount: 0
    EdgeCount: 0
    BranchProfiles: []
    Callsites: []
    JavaMethodInfo:
      exceptions:
      - "java.lang.Exception"
      interfaces: []
      classFields: []
      argumentGenericTypes: []
      returnValueGenericType: ""
      superClass: ""
      needClose: false
      static: false
      public: true
      classPublic: true
      concrete: false
      javaLibraryMethod: true
      classConcrete: false
      classEnum: false
    BBCount: 0
    CyclomaticComplexity: 0
