[ {
  "key" : "primary",
  "components" : [ {
    "name" : "metrics",
    "filesCount" : 6,
    "linesOfCode" : 385,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 6,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 385,
      "description" : [ ]
    } ]
  }, {
    "name" : "snapshot",
    "filesCount" : 2,
    "linesOfCode" : 348,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 2,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 348,
      "description" : [ ]
    } ]
  }, {
    "name" : "pipe",
    "filesCount" : 9,
    "linesOfCode" : 2294,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 9,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 2294,
      "description" : [ ]
    } ]
  }, {
    "name" : "types",
    "filesCount" : 6,
    "linesOfCode" : 96,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 6,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 96,
      "description" : [ ]
    } ]
  }, {
    "name" : "shutdown",
    "filesCount" : 1,
    "linesOfCode" : 62,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 62,
      "description" : [ ]
    } ]
  }, {
    "name" : "ROOT",
    "filesCount" : 2,
    "linesOfCode" : 78,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 1,
      "description" : [ ]
    }, {
      "name" : "  *.yaml",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 74,
      "description" : [ ]
    }, {
      "name" : "  *.yaml",
      "value" : 4,
      "description" : [ ]
    } ]
  }, {
    "name" : "throttle",
    "filesCount" : 1,
    "linesOfCode" : 46,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 46,
      "description" : [ ]
    } ]
  }, {
    "name" : "util",
    "filesCount" : 2,
    "linesOfCode" : 258,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 2,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 258,
      "description" : [ ]
    } ]
  }, {
    "name" : "changelog",
    "filesCount" : 2,
    "linesOfCode" : 863,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 2,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 863,
      "description" : [ ]
    } ]
  }, {
    "name" : "config",
    "filesCount" : 8,
    "linesOfCode" : 673,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 4,
      "description" : [ ]
    }, {
      "name" : "  *.yaml",
      "value" : 4,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 606,
      "description" : [ ]
    }, {
      "name" : "  *.yaml",
      "value" : 67,
      "description" : [ ]
    } ]
  }, {
    "name" : "encoder",
    "filesCount" : 7,
    "linesOfCode" : 1197,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 7,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 1197,
      "description" : [ ]
    } ]
  }, {
    "name" : "lock",
    "filesCount" : 1,
    "linesOfCode" : 158,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 158,
      "description" : [ ]
    } ]
  }, {
    "name" : "server",
    "filesCount" : 6,
    "linesOfCode" : 1356,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 6,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 1356,
      "description" : [ ]
    } ]
  }, {
    "name" : "state",
    "filesCount" : 5,
    "linesOfCode" : 1388,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 5,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 1388,
      "description" : [ ]
    } ]
  }, {
    "name" : "schema",
    "filesCount" : 3,
    "linesOfCode" : 230,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 3,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 230,
      "description" : [ ]
    } ]
  }, {
    "name" : "streamer",
    "filesCount" : 3,
    "linesOfCode" : 638,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 3,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 638,
      "description" : [ ]
    } ]
  }, {
    "name" : "db",
    "filesCount" : 5,
    "linesOfCode" : 308,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 5,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 308,
      "description" : [ ]
    } ]
  }, {
    "name" : "log",
    "filesCount" : 4,
    "linesOfCode" : 219,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 4,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 219,
      "description" : [ ]
    } ]
  }, {
    "name" : "pool",
    "filesCount" : 1,
    "linesOfCode" : 54,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 54,
      "description" : [ ]
    } ]
  } ],
  "componentDependencies" : [ {
    "fromComponent" : "metrics",
    "locFrom" : 80,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "metrics/tally.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    } ],
    "toComponent" : "types",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "metrics -> types"
  }, {
    "fromComponent" : "metrics",
    "locFrom" : 80,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "metrics/tally.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    } ],
    "toComponent" : "config",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "metrics -> config"
  }, {
    "fromComponent" : "metrics",
    "locFrom" : 80,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "metrics/tally.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    } ],
    "toComponent" : "log",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "metrics -> log"
  }, {
    "fromComponent" : "snapshot",
    "locFrom" : 348,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "snapshot/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/metrics\""
    }, {
      "pathFrom" : "snapshot/snapshot.go",
      "evidence" : "    \"github.com/uber/storagetapper/metrics\""
    } ],
    "toComponent" : "metrics",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "snapshot -> metrics"
  }, {
    "fromComponent" : "snapshot",
    "locFrom" : 258,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "snapshot/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    } ],
    "toComponent" : "types",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "snapshot -> types"
  }, {
    "fromComponent" : "snapshot",
    "locFrom" : 258,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "snapshot/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/util\""
    } ],
    "toComponent" : "util",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "snapshot -> util"
  }, {
    "fromComponent" : "snapshot",
    "locFrom" : 348,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "snapshot/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    }, {
      "pathFrom" : "snapshot/snapshot.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    } ],
    "toComponent" : "config",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "snapshot -> config"
  }, {
    "fromComponent" : "snapshot",
    "locFrom" : 348,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "snapshot/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/encoder\""
    }, {
      "pathFrom" : "snapshot/snapshot.go",
      "evidence" : "    \"github.com/uber/storagetapper/encoder\""
    } ],
    "toComponent" : "encoder",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "snapshot -> encoder"
  }, {
    "fromComponent" : "snapshot",
    "locFrom" : 258,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "snapshot/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/db\""
    } ],
    "toComponent" : "db",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "snapshot -> db"
  }, {
    "fromComponent" : "snapshot",
    "locFrom" : 258,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "snapshot/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    } ],
    "toComponent" : "log",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "snapshot -> log"
  }, {
    "fromComponent" : "pipe",
    "locFrom" : 1262,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "pipe/file.go",
      "evidence" : "    \"github.com/uber/storagetapper/metrics\""
    }, {
      "pathFrom" : "pipe/s3.go",
      "evidence" : "    \"github.com/uber/storagetapper/metrics\""
    }, {
      "pathFrom" : "pipe/hdfs.go",
      "evidence" : "    \"github.com/uber/storagetapper/metrics\""
    } ],
    "toComponent" : "metrics",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "pipe -> metrics"
  }, {
    "fromComponent" : "pipe",
    "locFrom" : 453,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "pipe/kafka.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    } ],
    "toComponent" : "types",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "pipe -> types"
  }, {
    "fromComponent" : "pipe",
    "locFrom" : 754,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "pipe/kafka.go",
      "evidence" : "    \"github.com/uber/storagetapper/util\""
    }, {
      "pathFrom" : "pipe/sql.go",
      "evidence" : "    \"github.com/uber/storagetapper/util\""
    } ],
    "toComponent" : "util",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "pipe -> util"
  }, {
    "fromComponent" : "pipe",
    "locFrom" : 2285,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "pipe/cache.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    }, {
      "pathFrom" : "pipe/local.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    }, {
      "pathFrom" : "pipe/kafka.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    }, {
      "pathFrom" : "pipe/file.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    }, {
      "pathFrom" : "pipe/pipe.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    }, {
      "pathFrom" : "pipe/s3.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    }, {
      "pathFrom" : "pipe/hdfs.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    }, {
      "pathFrom" : "pipe/sql.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    } ],
    "toComponent" : "config",
    "count" : 8,
    "text" : null,
    "color" : "",
    "dependencyString" : "pipe -> config"
  }, {
    "fromComponent" : "pipe",
    "locFrom" : 301,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "pipe/sql.go",
      "evidence" : "    \"github.com/uber/storagetapper/db\""
    } ],
    "toComponent" : "db",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "pipe -> db"
  }, {
    "fromComponent" : "pipe",
    "locFrom" : 2068,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "pipe/cache.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "pipe/kafka.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "pipe/file.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "pipe/s3.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "pipe/hdfs.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "pipe/sql.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    } ],
    "toComponent" : "log",
    "count" : 6,
    "text" : null,
    "color" : "",
    "dependencyString" : "pipe -> log"
  }, {
    "fromComponent" : "util",
    "locFrom" : 194,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "util/util.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    } ],
    "toComponent" : "types",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "util -> types"
  }, {
    "fromComponent" : "util",
    "locFrom" : 194,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "util/util.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    } ],
    "toComponent" : "log",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "util -> log"
  }, {
    "fromComponent" : "changelog",
    "locFrom" : 832,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "changelog/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/metrics\""
    } ],
    "toComponent" : "metrics",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "changelog -> metrics"
  }, {
    "fromComponent" : "changelog",
    "locFrom" : 863,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "changelog/changelog.go",
      "evidence" : "    \"github.com/uber/storagetapper/pipe\""
    }, {
      "pathFrom" : "changelog/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/pipe\""
    } ],
    "toComponent" : "pipe",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "changelog -> pipe"
  }, {
    "fromComponent" : "changelog",
    "locFrom" : 832,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "changelog/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    } ],
    "toComponent" : "types",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "changelog -> types"
  }, {
    "fromComponent" : "changelog",
    "locFrom" : 832,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "changelog/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/shutdown\""
    } ],
    "toComponent" : "shutdown",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "changelog -> shutdown"
  }, {
    "fromComponent" : "changelog",
    "locFrom" : 832,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "changelog/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/util\""
    } ],
    "toComponent" : "util",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "changelog -> util"
  }, {
    "fromComponent" : "changelog",
    "locFrom" : 863,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "changelog/changelog.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    }, {
      "pathFrom" : "changelog/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    } ],
    "toComponent" : "config",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "changelog -> config"
  }, {
    "fromComponent" : "changelog",
    "locFrom" : 832,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "changelog/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/encoder\""
    } ],
    "toComponent" : "encoder",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "changelog -> encoder"
  }, {
    "fromComponent" : "changelog",
    "locFrom" : 832,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "changelog/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/state\""
    } ],
    "toComponent" : "state",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "changelog -> state"
  }, {
    "fromComponent" : "changelog",
    "locFrom" : 832,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "changelog/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/schema\""
    } ],
    "toComponent" : "schema",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "changelog -> schema"
  }, {
    "fromComponent" : "changelog",
    "locFrom" : 832,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "changelog/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/db\""
    } ],
    "toComponent" : "db",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "changelog -> db"
  }, {
    "fromComponent" : "changelog",
    "locFrom" : 863,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "changelog/changelog.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "changelog/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    } ],
    "toComponent" : "log",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "changelog -> log"
  }, {
    "fromComponent" : "changelog",
    "locFrom" : 863,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "changelog/changelog.go",
      "evidence" : "    \"github.com/uber/storagetapper/pool\""
    }, {
      "pathFrom" : "changelog/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/pool\""
    } ],
    "toComponent" : "pool",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "changelog -> pool"
  }, {
    "fromComponent" : "config",
    "locFrom" : 606,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "config/config.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    }, {
      "pathFrom" : "config/std.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    }, {
      "pathFrom" : "config/topic.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    }, {
      "pathFrom" : "config/mysql.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    } ],
    "toComponent" : "types",
    "count" : 4,
    "text" : null,
    "color" : "",
    "dependencyString" : "config -> types"
  }, {
    "fromComponent" : "encoder",
    "locFrom" : 1185,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "encoder/avro.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    }, {
      "pathFrom" : "encoder/msgpack.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    }, {
      "pathFrom" : "encoder/encoder.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    }, {
      "pathFrom" : "encoder/avro_schema.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    }, {
      "pathFrom" : "encoder/json.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    }, {
      "pathFrom" : "encoder/sql.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    } ],
    "toComponent" : "types",
    "count" : 6,
    "text" : null,
    "color" : "",
    "dependencyString" : "encoder -> types"
  }, {
    "fromComponent" : "encoder",
    "locFrom" : 280,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "encoder/avro_schema.go",
      "evidence" : "    \"github.com/uber/storagetapper/util\""
    }, {
      "pathFrom" : "encoder/sql.go",
      "evidence" : "    \"github.com/uber/storagetapper/util\""
    } ],
    "toComponent" : "util",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "encoder -> util"
  }, {
    "fromComponent" : "encoder",
    "locFrom" : 50,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "encoder/avro_schema.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    }, {
      "pathFrom" : "encoder/z.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    } ],
    "toComponent" : "config",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "encoder -> config"
  }, {
    "fromComponent" : "encoder",
    "locFrom" : 691,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "encoder/avro.go",
      "evidence" : "    \"github.com/uber/storagetapper/state\""
    }, {
      "pathFrom" : "encoder/json.go",
      "evidence" : "    \"github.com/uber/storagetapper/state\""
    } ],
    "toComponent" : "state",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "encoder -> state"
  }, {
    "fromComponent" : "encoder",
    "locFrom" : 691,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "encoder/avro.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "encoder/json.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    } ],
    "toComponent" : "log",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "encoder -> log"
  }, {
    "fromComponent" : "lock",
    "locFrom" : 158,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "lock/lock.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    } ],
    "toComponent" : "types",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "lock -> types"
  }, {
    "fromComponent" : "lock",
    "locFrom" : 158,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "lock/lock.go",
      "evidence" : "    \"github.com/uber/storagetapper/db\""
    } ],
    "toComponent" : "db",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "lock -> db"
  }, {
    "fromComponent" : "lock",
    "locFrom" : 158,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "lock/lock.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    } ],
    "toComponent" : "log",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "lock -> log"
  }, {
    "fromComponent" : "server",
    "locFrom" : 230,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "server/table_handler.go",
      "evidence" : "    \"github.com/uber/storagetapper/pipe\""
    } ],
    "toComponent" : "pipe",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "server -> pipe"
  }, {
    "fromComponent" : "server",
    "locFrom" : 453,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "server/schema_handler.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    }, {
      "pathFrom" : "server/table_handler.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    } ],
    "toComponent" : "types",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "server -> types"
  }, {
    "fromComponent" : "server",
    "locFrom" : 515,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "server/config.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    }, {
      "pathFrom" : "server/schema_handler.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    }, {
      "pathFrom" : "server/table_handler.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    } ],
    "toComponent" : "config",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "server -> config"
  }, {
    "fromComponent" : "server",
    "locFrom" : 223,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "server/schema_handler.go",
      "evidence" : "    \"github.com/uber/storagetapper/encoder\""
    } ],
    "toComponent" : "encoder",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "server -> encoder"
  }, {
    "fromComponent" : "server",
    "locFrom" : 655,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "server/cluster_handler.go",
      "evidence" : "    \"github.com/uber/storagetapper/state\""
    }, {
      "pathFrom" : "server/server.go",
      "evidence" : "    \"github.com/uber/storagetapper/state\""
    }, {
      "pathFrom" : "server/schema_handler.go",
      "evidence" : "    \"github.com/uber/storagetapper/state\""
    }, {
      "pathFrom" : "server/table_handler.go",
      "evidence" : "    \"github.com/uber/storagetapper/state\""
    } ],
    "toComponent" : "state",
    "count" : 4,
    "text" : null,
    "color" : "",
    "dependencyString" : "server -> state"
  }, {
    "fromComponent" : "server",
    "locFrom" : 223,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "server/schema_handler.go",
      "evidence" : "    \"github.com/uber/storagetapper/schema\""
    } ],
    "toComponent" : "schema",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "server -> schema"
  }, {
    "fromComponent" : "server",
    "locFrom" : 377,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "server/cluster_handler.go",
      "evidence" : "    \"github.com/uber/storagetapper/db\""
    }, {
      "pathFrom" : "server/schema_handler.go",
      "evidence" : "    \"github.com/uber/storagetapper/db\""
    } ],
    "toComponent" : "db",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "server -> db"
  }, {
    "fromComponent" : "server",
    "locFrom" : 1356,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "server/index.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "server/config.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "server/cluster_handler.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "server/server.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "server/schema_handler.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "server/table_handler.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    } ],
    "toComponent" : "log",
    "count" : 6,
    "text" : null,
    "color" : "",
    "dependencyString" : "server -> log"
  }, {
    "fromComponent" : "state",
    "locFrom" : 436,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "state/manager.go",
      "evidence" : "    \"github.com/uber/storagetapper/metrics\""
    } ],
    "toComponent" : "metrics",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "state -> metrics"
  }, {
    "fromComponent" : "state",
    "locFrom" : 1172,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "state/schema.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    }, {
      "pathFrom" : "state/state.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    }, {
      "pathFrom" : "state/manager.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    } ],
    "toComponent" : "types",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "state -> types"
  }, {
    "fromComponent" : "state",
    "locFrom" : 1388,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "state/clusters.go",
      "evidence" : "    \"github.com/uber/storagetapper/util\""
    }, {
      "pathFrom" : "state/lock.go",
      "evidence" : "    \"github.com/uber/storagetapper/util\""
    }, {
      "pathFrom" : "state/schema.go",
      "evidence" : "    \"github.com/uber/storagetapper/util\""
    }, {
      "pathFrom" : "state/state.go",
      "evidence" : "    \"github.com/uber/storagetapper/util\""
    }, {
      "pathFrom" : "state/manager.go",
      "evidence" : "    \"github.com/uber/storagetapper/util\""
    } ],
    "toComponent" : "util",
    "count" : 5,
    "text" : null,
    "color" : "",
    "dependencyString" : "state -> util"
  }, {
    "fromComponent" : "state",
    "locFrom" : 1091,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "state/state.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    }, {
      "pathFrom" : "state/manager.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    } ],
    "toComponent" : "config",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "state -> config"
  }, {
    "fromComponent" : "state",
    "locFrom" : 436,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "state/manager.go",
      "evidence" : "    \"github.com/uber/storagetapper/lock\""
    } ],
    "toComponent" : "lock",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "state -> lock"
  }, {
    "fromComponent" : "state",
    "locFrom" : 655,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "state/state.go",
      "evidence" : "    \"github.com/uber/storagetapper/schema\""
    } ],
    "toComponent" : "schema",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "state -> schema"
  }, {
    "fromComponent" : "state",
    "locFrom" : 1177,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "state/clusters.go",
      "evidence" : "    \"github.com/uber/storagetapper/db\""
    }, {
      "pathFrom" : "state/state.go",
      "evidence" : "    \"github.com/uber/storagetapper/db\""
    }, {
      "pathFrom" : "state/manager.go",
      "evidence" : "    \"github.com/uber/storagetapper/db\""
    } ],
    "toComponent" : "db",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "state -> db"
  }, {
    "fromComponent" : "state",
    "locFrom" : 1388,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "state/clusters.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "state/lock.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "state/schema.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "state/state.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "state/manager.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    } ],
    "toComponent" : "log",
    "count" : 5,
    "text" : null,
    "color" : "",
    "dependencyString" : "state -> log"
  }, {
    "fromComponent" : "schema",
    "locFrom" : 230,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "schema/table_schema.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    }, {
      "pathFrom" : "schema/alter_schema.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    }, {
      "pathFrom" : "schema/mysql_avro_schema_converter.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    } ],
    "toComponent" : "types",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "schema -> types"
  }, {
    "fromComponent" : "schema",
    "locFrom" : 41,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "schema/alter_schema.go",
      "evidence" : "    \"github.com/uber/storagetapper/util\""
    } ],
    "toComponent" : "util",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "schema -> util"
  }, {
    "fromComponent" : "schema",
    "locFrom" : 189,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "schema/table_schema.go",
      "evidence" : "    \"github.com/uber/storagetapper/db\""
    }, {
      "pathFrom" : "schema/mysql_avro_schema_converter.go",
      "evidence" : "    \"github.com/uber/storagetapper/db\""
    } ],
    "toComponent" : "db",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "schema -> db"
  }, {
    "fromComponent" : "schema",
    "locFrom" : 130,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "schema/table_schema.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "schema/alter_schema.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    } ],
    "toComponent" : "log",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "schema -> log"
  }, {
    "fromComponent" : "streamer",
    "locFrom" : 433,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "streamer/streamer.go",
      "evidence" : "    \"github.com/uber/storagetapper/metrics\""
    }, {
      "pathFrom" : "streamer/snapshot.go",
      "evidence" : "    \"github.com/uber/storagetapper/metrics\""
    } ],
    "toComponent" : "metrics",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "streamer -> metrics"
  }, {
    "fromComponent" : "streamer",
    "locFrom" : 204,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "streamer/snapshot.go",
      "evidence" : "    \"github.com/uber/storagetapper/snapshot\""
    } ],
    "toComponent" : "snapshot",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "streamer -> snapshot"
  }, {
    "fromComponent" : "streamer",
    "locFrom" : 638,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "streamer/streamer.go",
      "evidence" : "    \"github.com/uber/storagetapper/pipe\""
    }, {
      "pathFrom" : "streamer/buffer.go",
      "evidence" : "    \"github.com/uber/storagetapper/pipe\""
    }, {
      "pathFrom" : "streamer/snapshot.go",
      "evidence" : "    \"github.com/uber/storagetapper/pipe\""
    } ],
    "toComponent" : "pipe",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "streamer -> pipe"
  }, {
    "fromComponent" : "streamer",
    "locFrom" : 205,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "streamer/buffer.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    } ],
    "toComponent" : "types",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "streamer -> types"
  }, {
    "fromComponent" : "streamer",
    "locFrom" : 638,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "streamer/streamer.go",
      "evidence" : "    \"github.com/uber/storagetapper/shutdown\""
    }, {
      "pathFrom" : "streamer/buffer.go",
      "evidence" : "    \"github.com/uber/storagetapper/shutdown\""
    }, {
      "pathFrom" : "streamer/snapshot.go",
      "evidence" : "    \"github.com/uber/storagetapper/shutdown\""
    } ],
    "toComponent" : "shutdown",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "streamer -> shutdown"
  }, {
    "fromComponent" : "streamer",
    "locFrom" : 204,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "streamer/snapshot.go",
      "evidence" : "    \"github.com/uber/storagetapper/throttle\""
    } ],
    "toComponent" : "throttle",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "streamer -> throttle"
  }, {
    "fromComponent" : "streamer",
    "locFrom" : 229,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "streamer/streamer.go",
      "evidence" : "    \"github.com/uber/storagetapper/util\""
    } ],
    "toComponent" : "util",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "streamer -> util"
  }, {
    "fromComponent" : "streamer",
    "locFrom" : 229,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "streamer/streamer.go",
      "evidence" : "    \"github.com/uber/storagetapper/changelog\""
    } ],
    "toComponent" : "changelog",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "streamer -> changelog"
  }, {
    "fromComponent" : "streamer",
    "locFrom" : 229,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "streamer/streamer.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    } ],
    "toComponent" : "config",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "streamer -> config"
  }, {
    "fromComponent" : "streamer",
    "locFrom" : 434,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "streamer/streamer.go",
      "evidence" : "    \"github.com/uber/storagetapper/encoder\""
    }, {
      "pathFrom" : "streamer/buffer.go",
      "evidence" : "    \"github.com/uber/storagetapper/encoder\""
    } ],
    "toComponent" : "encoder",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "streamer -> encoder"
  }, {
    "fromComponent" : "streamer",
    "locFrom" : 229,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "streamer/streamer.go",
      "evidence" : "    \"github.com/uber/storagetapper/lock\""
    } ],
    "toComponent" : "lock",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "streamer -> lock"
  }, {
    "fromComponent" : "streamer",
    "locFrom" : 638,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "streamer/streamer.go",
      "evidence" : "    \"github.com/uber/storagetapper/state\""
    }, {
      "pathFrom" : "streamer/buffer.go",
      "evidence" : "    \"github.com/uber/storagetapper/state\""
    }, {
      "pathFrom" : "streamer/snapshot.go",
      "evidence" : "    \"github.com/uber/storagetapper/state\""
    } ],
    "toComponent" : "state",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "streamer -> state"
  }, {
    "fromComponent" : "streamer",
    "locFrom" : 229,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "streamer/streamer.go",
      "evidence" : "    \"github.com/uber/storagetapper/db\""
    } ],
    "toComponent" : "db",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "streamer -> db"
  }, {
    "fromComponent" : "streamer",
    "locFrom" : 638,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "streamer/streamer.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "streamer/buffer.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "streamer/snapshot.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    } ],
    "toComponent" : "log",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "streamer -> log"
  }, {
    "fromComponent" : "db",
    "locFrom" : 126,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "db/test.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    }, {
      "pathFrom" : "db/builtin.go",
      "evidence" : "    \"github.com/uber/storagetapper/types\""
    } ],
    "toComponent" : "types",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "db -> types"
  }, {
    "fromComponent" : "db",
    "locFrom" : 308,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "db/test.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "db/gtid.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "db/open.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "db/resolver.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    }, {
      "pathFrom" : "db/builtin.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    } ],
    "toComponent" : "log",
    "count" : 5,
    "text" : null,
    "color" : "",
    "dependencyString" : "db -> log"
  }, {
    "fromComponent" : "log",
    "locFrom" : 40,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "log/zap.go",
      "evidence" : "    \"github.com/uber/storagetapper/config\""
    } ],
    "toComponent" : "config",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "log -> config"
  }, {
    "fromComponent" : "pool",
    "locFrom" : 54,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "pool/pool.go",
      "evidence" : "    \"github.com/uber/storagetapper/shutdown\""
    } ],
    "toComponent" : "shutdown",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "pool -> shutdown"
  }, {
    "fromComponent" : "pool",
    "locFrom" : 54,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "pool/pool.go",
      "evidence" : "    \"github.com/uber/storagetapper/log\""
    } ],
    "toComponent" : "log",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "pool -> log"
  } ],
  "componentDependenciesErrors" : [ ],
  "logicalDecomposition" : {
    "name" : "primary",
    "scope" : "main",
    "filters" : [ ],
    "componentsFolderDepth" : 1,
    "minComponentsCount" : 0,
    "components" : [ {
      "name" : "metrics",
      "sourceFileFilters" : [ {
        "pathPattern" : "./metrics/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "snapshot",
      "sourceFileFilters" : [ {
        "pathPattern" : "./snapshot/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "pipe",
      "sourceFileFilters" : [ {
        "pathPattern" : "./pipe/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "types",
      "sourceFileFilters" : [ {
        "pathPattern" : "./types/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "shutdown",
      "sourceFileFilters" : [ {
        "pathPattern" : "./shutdown/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "ROOT",
      "sourceFileFilters" : [ {
        "pathPattern" : "./.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      }, {
        "pathPattern" : "./metrics/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./snapshot/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./pipe/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./types/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./shutdown/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./throttle/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./util/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./changelog/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./config/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./encoder/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./lock/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./server/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./state/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./schema/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./streamer/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./db/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./log/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./pool/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "throttle",
      "sourceFileFilters" : [ {
        "pathPattern" : "./throttle/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "util",
      "sourceFileFilters" : [ {
        "pathPattern" : "./util/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "changelog",
      "sourceFileFilters" : [ {
        "pathPattern" : "./changelog/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "config",
      "sourceFileFilters" : [ {
        "pathPattern" : "./config/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "encoder",
      "sourceFileFilters" : [ {
        "pathPattern" : "./encoder/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "lock",
      "sourceFileFilters" : [ {
        "pathPattern" : "./lock/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "server",
      "sourceFileFilters" : [ {
        "pathPattern" : "./server/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "state",
      "sourceFileFilters" : [ {
        "pathPattern" : "./state/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "schema",
      "sourceFileFilters" : [ {
        "pathPattern" : "./schema/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "streamer",
      "sourceFileFilters" : [ {
        "pathPattern" : "./streamer/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "db",
      "sourceFileFilters" : [ {
        "pathPattern" : "./db/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "log",
      "sourceFileFilters" : [ {
        "pathPattern" : "./log/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "pool",
      "sourceFileFilters" : [ {
        "pathPattern" : "./pool/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    } ],
    "metaComponents" : [ ],
    "groups" : [ ],
    "includeRemainingFiles" : true,
    "dependenciesFinder" : {
      "useBuiltInDependencyFinders" : true,
      "rules" : [ ],
      "metaRules" : [ ]
    },
    "renderingOptions" : {
      "orientation" : "TB",
      "maxNumberOfDependencies" : 100,
      "renderComponentsWithoutDependencies" : true,
      "renderIndirectDependencies" : false,
      "renderInternalIndirectDependencies" : false,
      "reverseDirection" : false
    },
    "includeExternalComponents" : true,
    "dependencyLinkThreshold" : 1,
    "duplicationLinkThreshold" : 50,
    "temporalLinkThreshold" : 1,
    "maxSearchDepthLines" : 200
  },
  "fileCountPerComponent" : [ {
    "name" : "metrics",
    "value" : 6,
    "description" : [ ]
  }, {
    "name" : "snapshot",
    "value" : 2,
    "description" : [ ]
  }, {
    "name" : "pipe",
    "value" : 9,
    "description" : [ ]
  }, {
    "name" : "types",
    "value" : 6,
    "description" : [ ]
  }, {
    "name" : "shutdown",
    "value" : 1,
    "description" : [ ]
  }, {
    "name" : "ROOT",
    "value" : 2,
    "description" : [ ]
  }, {
    "name" : "throttle",
    "value" : 1,
    "description" : [ ]
  }, {
    "name" : "util",
    "value" : 2,
    "description" : [ ]
  }, {
    "name" : "changelog",
    "value" : 2,
    "description" : [ ]
  }, {
    "name" : "config",
    "value" : 8,
    "description" : [ ]
  }, {
    "name" : "encoder",
    "value" : 7,
    "description" : [ ]
  }, {
    "name" : "lock",
    "value" : 1,
    "description" : [ ]
  }, {
    "name" : "server",
    "value" : 6,
    "description" : [ ]
  }, {
    "name" : "state",
    "value" : 5,
    "description" : [ ]
  }, {
    "name" : "schema",
    "value" : 3,
    "description" : [ ]
  }, {
    "name" : "streamer",
    "value" : 3,
    "description" : [ ]
  }, {
    "name" : "db",
    "value" : 5,
    "description" : [ ]
  }, {
    "name" : "log",
    "value" : 4,
    "description" : [ ]
  }, {
    "name" : "pool",
    "value" : 1,
    "description" : [ ]
  } ],
  "linesOfCodePerComponent" : [ {
    "name" : "metrics",
    "value" : 385,
    "description" : [ ]
  }, {
    "name" : "snapshot",
    "value" : 348,
    "description" : [ ]
  }, {
    "name" : "pipe",
    "value" : 2294,
    "description" : [ ]
  }, {
    "name" : "types",
    "value" : 96,
    "description" : [ ]
  }, {
    "name" : "shutdown",
    "value" : 62,
    "description" : [ ]
  }, {
    "name" : "ROOT",
    "value" : 78,
    "description" : [ ]
  }, {
    "name" : "throttle",
    "value" : 46,
    "description" : [ ]
  }, {
    "name" : "util",
    "value" : 258,
    "description" : [ ]
  }, {
    "name" : "changelog",
    "value" : 863,
    "description" : [ ]
  }, {
    "name" : "config",
    "value" : 673,
    "description" : [ ]
  }, {
    "name" : "encoder",
    "value" : 1197,
    "description" : [ ]
  }, {
    "name" : "lock",
    "value" : 158,
    "description" : [ ]
  }, {
    "name" : "server",
    "value" : 1356,
    "description" : [ ]
  }, {
    "name" : "state",
    "value" : 1388,
    "description" : [ ]
  }, {
    "name" : "schema",
    "value" : 230,
    "description" : [ ]
  }, {
    "name" : "streamer",
    "value" : 638,
    "description" : [ ]
  }, {
    "name" : "db",
    "value" : 308,
    "description" : [ ]
  }, {
    "name" : "log",
    "value" : 219,
    "description" : [ ]
  }, {
    "name" : "pool",
    "value" : 54,
    "description" : [ ]
  } ]
} ]