[ {
  "key" : "primary",
  "components" : [ {
    "name" : "cmd",
    "filesCount" : 9,
    "linesOfCode" : 913,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 9,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 913,
      "description" : [ ]
    } ]
  }, {
    "name" : "bench",
    "filesCount" : 18,
    "linesOfCode" : 2431,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 18,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 2431,
      "description" : [ ]
    } ]
  }, {
    "name" : "ROOT",
    "filesCount" : 2,
    "linesOfCode" : 138,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.toml",
      "value" : 1,
      "description" : [ ]
    }, {
      "name" : "  *.yml",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.toml",
      "value" : 88,
      "description" : [ ]
    }, {
      "name" : "  *.yml",
      "value" : 50,
      "description" : [ ]
    } ]
  }, {
    "name" : "tools",
    "filesCount" : 55,
    "linesOfCode" : 14357,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 55,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 14357,
      "description" : [ ]
    } ]
  }, {
    "name" : "docker",
    "filesCount" : 35,
    "linesOfCode" : 2354,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.yml",
      "value" : 29,
      "description" : [ ]
    }, {
      "name" : "  *.yaml",
      "value" : 6,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.yml",
      "value" : 1866,
      "description" : [ ]
    }, {
      "name" : "  *.yaml",
      "value" : 488,
      "description" : [ ]
    } ]
  }, {
    "name" : "host",
    "filesCount" : 15,
    "linesOfCode" : 2643,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 15,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 2643,
      "description" : [ ]
    } ]
  }, {
    "name" : "proto",
    "filesCount" : 10,
    "linesOfCode" : 2279,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.proto",
      "value" : 9,
      "description" : [ ]
    }, {
      "name" : "  *.yaml",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.proto",
      "value" : 2265,
      "description" : [ ]
    }, {
      "name" : "  *.yaml",
      "value" : 14,
      "description" : [ ]
    } ]
  }, {
    "name" : "canary",
    "filesCount" : 24,
    "linesOfCode" : 2672,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 24,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 2672,
      "description" : [ ]
    } ]
  }, {
    "name" : "config",
    "filesCount" : 31,
    "linesOfCode" : 1801,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.yaml",
      "value" : 30,
      "description" : [ ]
    }, {
      "name" : "  *.pub",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.yaml",
      "value" : 1792,
      "description" : [ ]
    }, {
      "name" : "  *.pub",
      "value" : 9,
      "description" : [ ]
    } ]
  }, {
    "name" : "internal",
    "filesCount" : 1,
    "linesOfCode" : 15,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 15,
      "description" : [ ]
    } ]
  }, {
    "name" : "schema",
    "filesCount" : 125,
    "linesOfCode" : 2558,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.cql",
      "value" : 83,
      "description" : [ ]
    }, {
      "name" : "  *.sql",
      "value" : 33,
      "description" : [ ]
    }, {
      "name" : "  *.go",
      "value" : 9,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.cql",
      "value" : 1495,
      "description" : [ ]
    }, {
      "name" : "  *.sql",
      "value" : 1026,
      "description" : [ ]
    }, {
      "name" : "  *.go",
      "value" : 37,
      "description" : [ ]
    } ]
  }, {
    "name" : "common",
    "filesCount" : 508,
    "linesOfCode" : 115160,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 507,
      "description" : [ ]
    }, {
      "name" : "  *.yaml",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 115102,
      "description" : [ ]
    }, {
      "name" : "  *.yaml",
      "value" : 58,
      "description" : [ ]
    } ]
  }, {
    "name" : "testflags",
    "filesCount" : 1,
    "linesOfCode" : 33,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 33,
      "description" : [ ]
    } ]
  }, {
    "name" : "environment",
    "filesCount" : 1,
    "linesOfCode" : 179,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 179,
      "description" : [ ]
    } ]
  }, {
    "name" : "service",
    "filesCount" : 232,
    "linesOfCode" : 66432,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 232,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 66432,
      "description" : [ ]
    } ]
  }, {
    "name" : "client",
    "filesCount" : 20,
    "linesOfCode" : 4222,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.go",
      "value" : 20,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.go",
      "value" : 4222,
      "description" : [ ]
    } ]
  } ],
  "componentDependencies" : [ {
    "fromComponent" : "cmd",
    "locFrom" : 114,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "cmd/bench/main.go",
      "evidence" : "    \"github.com/uber/cadence/bench\""
    } ],
    "toComponent" : "bench",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "cmd -> bench"
  }, {
    "fromComponent" : "cmd",
    "locFrom" : 209,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "cmd/tools/cli/main.go",
      "evidence" : "    \"github.com/uber/cadence/tools/cli\""
    }, {
      "pathFrom" : "cmd/tools/cassandra/main.go",
      "evidence" : "    \"github.com/uber/cadence/tools/cassandra\""
    }, {
      "pathFrom" : "cmd/tools/sql/main.go",
      "evidence" : "    \"github.com/uber/cadence/tools/sql\""
    }, {
      "pathFrom" : "cmd/server/cadence/cadence.go",
      "evidence" : "    \"github.com/uber/cadence/tools/cassandra\""
    } ],
    "toComponent" : "tools",
    "count" : 4,
    "text" : null,
    "color" : "",
    "dependencyString" : "cmd -> tools"
  }, {
    "fromComponent" : "cmd",
    "locFrom" : 179,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "cmd/tools/cassandra/main.go",
      "evidence" : "    \"github.com/uber/cadence/tools/cassandra\""
    }, {
      "pathFrom" : "cmd/server/cadence/cadence.go",
      "evidence" : "    \"github.com/uber/cadence/tools/cassandra\""
    } ],
    "toComponent" : "schema",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "cmd -> schema"
  }, {
    "fromComponent" : "cmd",
    "locFrom" : 460,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "cmd/tools/cassandra/main.go",
      "evidence" : "    \"github.com/uber/cadence/tools/cassandra\""
    }, {
      "pathFrom" : "cmd/tools/sql/main.go",
      "evidence" : "    \"github.com/uber/cadence/tools/sql\""
    }, {
      "pathFrom" : "cmd/server/main.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "cmd/server/cadence/cadence.go",
      "evidence" : "    \"github.com/uber/cadence/tools/cassandra\""
    }, {
      "pathFrom" : "cmd/server/cadence/server.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    } ],
    "toComponent" : "common",
    "count" : 5,
    "text" : null,
    "color" : "",
    "dependencyString" : "cmd -> common"
  }, {
    "fromComponent" : "cmd",
    "locFrom" : 107,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "cmd/canary/main.go",
      "evidence" : "    \"github.com/uber/cadence/canary\""
    } ],
    "toComponent" : "canary",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "cmd -> canary"
  }, {
    "fromComponent" : "cmd",
    "locFrom" : 252,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "cmd/server/cadence/server.go",
      "evidence" : "    \"github.com/uber/cadence/common/asyncworkflow/queue\""
    } ],
    "toComponent" : "service",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "cmd -> service"
  }, {
    "fromComponent" : "cmd",
    "locFrom" : 252,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "cmd/server/cadence/server.go",
      "evidence" : "    \"github.com/uber/cadence/service/matching\""
    } ],
    "toComponent" : "client",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "cmd -> client"
  }, {
    "fromComponent" : "service",
    "locFrom" : 56101,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "service/history/common/type.go",
      "evidence" : "    \"github.com/uber/cadence/common/persistence\""
    }, {
      "pathFrom" : "service/history/queue/cross_cluster_queue_processor_base.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/history/queue/timer_queue_processor_base.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/history/queue/transfer_queue_processor_base.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/history/queue/timer_queue_processor.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "service/history/queue/transfer_queue_processor.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "service/history/queue/processing_queue_collection.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/queue/processor_base.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/queue/transfer_queue_validator.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/queue/split_policy.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/queue/cross_cluster_queue_processor.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/queue/processing_queue.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/queue/timer_queue_standby_processor.go",
      "evidence" : "    \"github.com/uber/cadence/common/persistence\""
    }, {
      "pathFrom" : "service/history/queue/task_allocator.go",
      "evidence" : "    \"github.com/uber/cadence/common/persistence\""
    }, {
      "pathFrom" : "service/history/queue/timer_queue_active_processor.go",
      "evidence" : "    \"github.com/uber/cadence/common/persistence\""
    }, {
      "pathFrom" : "service/history/queue/timer_queue_failover_processor.go",
      "evidence" : "    \"github.com/uber/cadence/common/persistence\""
    }, {
      "pathFrom" : "service/history/queue/timer_gate.go",
      "evidence" : "    \"github.com/uber/cadence/common/clock\""
    }, {
      "pathFrom" : "service/frontend/config/config.go",
      "evidence" : "    \"github.com/uber/cadence/common/domain\""
    }, {
      "pathFrom" : "service/history/ndc/history_replicator.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/ndc/replication_task.go",
      "evidence" : "    \"github.com/uber/cadence/common/cluster\""
    }, {
      "pathFrom" : "service/worker/archiver/client.go",
      "evidence" : "    \"github.com/uber/cadence/common/quotas\""
    }, {
      "pathFrom" : "service/worker/archiver/workflow.go",
      "evidence" : "    \"github.com/uber/cadence/common/log/loggerimpl\""
    }, {
      "pathFrom" : "service/worker/archiver/activities.go",
      "evidence" : "    \"github.com/uber/cadence/common/service\""
    }, {
      "pathFrom" : "service/history/testing/events_util.go",
      "evidence" : "    \"github.com/uber/cadence/common/persistence\""
    }, {
      "pathFrom" : "service/history/testing/workflow_util.go",
      "evidence" : "    \"github.com/uber/cadence/common/persistence\""
    }, {
      "pathFrom" : "service/frontend/wrappers/ratelimited/ratelimit.go",
      "evidence" : "    \"github.com/uber/cadence/common/quotas\""
    }, {
      "pathFrom" : "service/history/task/fetcher.go",
      "evidence" : "    \"github.com/uber/cadence/common/cluster\""
    }, {
      "pathFrom" : "service/history/task/transfer_task_executor_base.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/task/task.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/task/transfer_standby_task_executor.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/task/transfer_active_task_executor.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/task/cross_cluster_task_processor.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/task/standby_task_util.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/task/cross_cluster_target_task_executor.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/task/task_util.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/task/priority_assigner.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/task/timer_task_executor_base.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/task/cross_cluster_task.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/task/cross_cluster_source_task_executor.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/task/timer_active_task_executor.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/task/timer_standby_task_executor.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/task/redispatcher.go",
      "evidence" : "    \"github.com/uber/cadence/common/clock\""
    }, {
      "pathFrom" : "service/history/task/event_logger.go",
      "evidence" : "    \"github.com/uber/cadence/common/clock\""
    }, {
      "pathFrom" : "service/history/query/query.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/query/registry.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/matching/matchingEngine.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/matching/taskWriter.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/matching/taskListManager.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/matching/taskReader.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/matching/matcher.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/matching/context.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/matching/config.go",
      "evidence" : "    \"github.com/uber/cadence/common/dynamicconfig\""
    }, {
      "pathFrom" : "service/matching/service.go",
      "evidence" : "    \"github.com/uber/cadence/common/dynamicconfig\""
    }, {
      "pathFrom" : "service/matching/forwarder.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/matching/task.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/matching/pollerHistory.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/matching/grpc_handler.go",
      "evidence" : "    \"github.com/uber/cadence/common/types/mapper/proto\""
    }, {
      "pathFrom" : "service/matching/db.go",
      "evidence" : "    \"github.com/uber/cadence/common/persistence\""
    }, {
      "pathFrom" : "service/matching/tasklist.go",
      "evidence" : "    \"github.com/uber/cadence/common/persistence\""
    }, {
      "pathFrom" : "service/matching/liveness.go",
      "evidence" : "    \"github.com/uber/cadence/common/clock\""
    }, {
      "pathFrom" : "service/matching/handler.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/frontend/wrappers/grpc/share.go",
      "evidence" : "    \"github.com/uber/cadence/common/types/mapper/proto\""
    }, {
      "pathFrom" : "service/history/wrappers/grpc/grpc_handler.go",
      "evidence" : "    \"github.com/uber/cadence/common/types/mapper/proto\""
    }, {
      "pathFrom" : "service/frontend/wrappers/accesscontrolled/access_controlled.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/frontend/wrappers/clusterredirection/policy.go",
      "evidence" : "    \"github.com/uber/cadence/common/cluster\""
    }, {
      "pathFrom" : "service/frontend/validate/errors.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/frontend/service.go",
      "evidence" : "    \"github.com/uber/cadence/common/dynamicconfig\""
    }, {
      "pathFrom" : "service/frontend/admin/handler.go",
      "evidence" : "    \"github.com/uber/cadence/common/isolationgroup/isolationgroupapi\""
    }, {
      "pathFrom" : "service/frontend/admin/interface.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/frontend/api/handler.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/frontend/api/interface.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/frontend/api/producer_manager.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/handler/handler.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/handler/interface.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/worker/scanner/history/scavenger.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/service.go",
      "evidence" : "    \"github.com/uber/cadence/common/dynamicconfig\""
    }, {
      "pathFrom" : "service/history/ndc/conflict_resolver.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/ndc/existing_workflow_transaction_manager.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/ndc/workflow_resetter.go",
      "evidence" : "    \"github.com/uber/cadence/common/definition\""
    }, {
      "pathFrom" : "service/history/ndc/branch_manager.go",
      "evidence" : "    \"github.com/uber/cadence/common/cluster\""
    }, {
      "pathFrom" : "service/history/ndc/events_reapplier.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/ndc/new_workflow_transaction_manager.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/ndc/activity_replicator.go",
      "evidence" : "    \"github.com/uber/cadence/common/cluster\""
    }, {
      "pathFrom" : "service/history/ndc/transaction_manager.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/reset/resetter.go",
      "evidence" : "    \"github.com/uber/cadence/common/cluster\""
    }, {
      "pathFrom" : "service/history/execution/mutable_state_builder.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/history/execution/cache.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/history/execution/retry.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/history/execution/context_util.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/execution/integrity.go",
      "evidence" : "    \"github.com/uber/cadence/common/collection\""
    }, {
      "pathFrom" : "service/history/execution/mutable_state_util.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/execution/history_builder.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/execution/checksum.go",
      "evidence" : "    \"github.com/uber/cadence/common/checksum\""
    }, {
      "pathFrom" : "service/history/execution/mutable_state_decision_task_manager.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/execution/state_builder.go",
      "evidence" : "    \"github.com/uber/cadence/common/cluster\""
    }, {
      "pathFrom" : "service/history/execution/context.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/history/execution/mutable_state_task_refresher.go",
      "evidence" : "    \"github.com/uber/cadence/common/cluster\""
    }, {
      "pathFrom" : "service/history/execution/timer_sequence.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/execution/mutable_state_task_generator.go",
      "evidence" : "    \"github.com/uber/cadence/common/cluster\""
    }, {
      "pathFrom" : "service/history/execution/state_rebuilder.go",
      "evidence" : "    \"github.com/uber/cadence/common/cluster\""
    }, {
      "pathFrom" : "service/history/execution/mutable_state.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/execution/workflow.go",
      "evidence" : "    \"github.com/uber/cadence/common/cluster\""
    }, {
      "pathFrom" : "service/history/workflow/util.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/workflow/errors.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/task/interface.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/decision/task_handler.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/history/decision/checker.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/history/decision/handler.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/replication/task_store.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/history/replication/dlq_handler.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/history/replication/task_fetcher.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/history/replication/task_processor.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/history/replication/metrics_emitter.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/replication/task_ack_manager.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/replication/task_executor.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/replication/cache.go",
      "evidence" : "    \"github.com/uber/cadence/common/dynamicconfig\""
    }, {
      "pathFrom" : "service/history/replication/task_hydrator.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/replication/task_reader.go",
      "evidence" : "    \"github.com/uber/cadence/common/persistence\""
    }, {
      "pathFrom" : "service/history/workflowcache/cache.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/events/cache.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/events/notifier.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/events/blob.go",
      "evidence" : "    \"github.com/uber/cadence/common/persistence\""
    }, {
      "pathFrom" : "service/history/failover/coordinator.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/history/failover/marker_notifier.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/engine/engineimpl/historyEngine.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "service/history/engine/interface.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/history/shard/contextTest.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/shard/controller.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/history/shard/context.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/worker/asyncworkflow/async_workflow_consumer_manager.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/worker/service.go",
      "evidence" : "    \"github.com/uber/cadence/common/cluster\""
    }, {
      "pathFrom" : "service/worker/workercommon/util.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/worker/replicator/domain_replication_processor.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/worker/replicator/replicator.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/worker/failovermanager/starter.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/worker/failovermanager/rebalance_workflow.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/worker/failovermanager/workflow.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "service/worker/batcher/batcher.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/worker/batcher/workflow.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/worker/esanalyzer/analyzer.go",
      "evidence" : "    \"github.com/uber/cadence/common/dynamicconfig\""
    }, {
      "pathFrom" : "service/worker/parentclosepolicy/processor.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/worker/parentclosepolicy/client.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/worker/parentclosepolicy/workflow.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/worker/scanner/data_corruption_workflow.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "service/worker/scanner/scanner.go",
      "evidence" : "    \"github.com/uber/cadence/common/cluster\""
    }, {
      "pathFrom" : "service/worker/scanner/workflow.go",
      "evidence" : "    \"github.com/uber/cadence/common/log/tag\""
    }, {
      "pathFrom" : "service/worker/scanner/timers/timers.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "service/worker/scanner/shardscanner/fixer_workflow.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "service/worker/scanner/shardscanner/scanner.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "service/worker/scanner/shardscanner/scanner_workflow.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "service/worker/scanner/shardscanner/fixer.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "service/worker/scanner/shardscanner/types.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "service/worker/scanner/shardscanner/aggregators.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "service/worker/scanner/shardscanner/activities.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/store\""
    }, {
      "pathFrom" : "service/worker/scanner/tasklist/db.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "service/worker/scanner/tasklist/scavenger.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/worker/scanner/tasklist/handler.go",
      "evidence" : "    \"github.com/uber/cadence/common/log/tag\""
    }, {
      "pathFrom" : "service/worker/scanner/executions/types.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "service/worker/scanner/executions/concrete_execution.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "service/worker/scanner/executions/current_execution.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "service/worker/scanner/executor/executor.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/worker/indexer/indexer.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "service/worker/indexer/esProcessor.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    } ],
    "toComponent" : "common",
    "count" : 163,
    "text" : null,
    "color" : "",
    "dependencyString" : "service -> common"
  }, {
    "fromComponent" : "bench",
    "locFrom" : 40,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "bench/lib/context.go",
      "evidence" : "    \"github.com/uber/cadence/common/log/loggerimpl\""
    } ],
    "toComponent" : "common",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "bench -> common"
  }, {
    "fromComponent" : "tools",
    "locFrom" : 10631,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "tools/cli/admin_timers.go",
      "evidence" : "    \"github.com/uber/cadence/common/backoff\""
    }, {
      "pathFrom" : "tools/cli/admin_db_clean_command.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "tools/cli/admin.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "tools/cli/admin_db_scan_command.go",
      "evidence" : "    \"github.com/uber/cadence/common/reconciliation/invariant\""
    }, {
      "pathFrom" : "tools/cli/domain_utils.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "tools/cli/database.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "tools/cli/app.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "tools/cli/utils.go",
      "evidence" : "    \"github.com/uber/cadence/common/pagination\""
    }, {
      "pathFrom" : "tools/cli/domain_migration_command.go",
      "evidence" : "    \"github.com/uber/cadence/common/dynamicconfig\""
    }, {
      "pathFrom" : "tools/cli/domain_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/dynamicconfig\""
    }, {
      "pathFrom" : "tools/cli/admin_config_store_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/dynamicconfig\""
    }, {
      "pathFrom" : "tools/cli/task_list_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "tools/cli/defs.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "tools/cli/isolation-groups.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "tools/cli/admin_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "tools/cli/workflow_batch_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "tools/cli/admin_async_queue_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "tools/cli/admin_cluster_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "tools/cli/admin_task_list_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "tools/cli/admin_failover_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "tools/cli/workflow_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "tools/cli/admin_dlq_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "tools/cli/admin_kafka_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "tools/cli/admin_elastic_search_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/tokenbucket\""
    }, {
      "pathFrom" : "tools/cli/admin_db_decode_thrift.go",
      "evidence" : "    \"github.com/uber/cadence/common/codec\""
    }, {
      "pathFrom" : "tools/sql/clitest/updatetaskTest.go",
      "evidence" : "    \"github.com/uber/cadence/schema/mysql\""
    }, {
      "pathFrom" : "tools/sql/clitest/versionTest.go",
      "evidence" : "    \"github.com/uber/cadence/common/dynamicconfig\""
    }, {
      "pathFrom" : "tools/sql/clitest/connTest.go",
      "evidence" : "    \"github.com/uber/cadence/common/log/tag\""
    }, {
      "pathFrom" : "tools/sql/handler.go",
      "evidence" : "    \"github.com/uber/cadence/schema/postgres\""
    } ],
    "toComponent" : "common",
    "count" : 29,
    "text" : null,
    "color" : "",
    "dependencyString" : "tools -> common"
  }, {
    "fromComponent" : "tools",
    "locFrom" : 6083,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "tools/cli/admin_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/types/mapper/thrift\""
    }, {
      "pathFrom" : "tools/cli/admin_kafka_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/types/mapper/thrift\""
    }, {
      "pathFrom" : "tools/cli/domain_utils.go",
      "evidence" : "    \"github.com/uber/cadence/common/archiver\""
    }, {
      "pathFrom" : "tools/cli/workflow_commands.go",
      "evidence" : "    \"github.com/uber/cadence/service/history/execution\""
    }, {
      "pathFrom" : "tools/cli/admin_cluster_commands.go",
      "evidence" : "    \"github.com/uber/cadence/service/worker/failovermanager\""
    }, {
      "pathFrom" : "tools/cli/admin_failover_commands.go",
      "evidence" : "    \"github.com/uber/cadence/service/worker/failovermanager\""
    }, {
      "pathFrom" : "tools/cli/workflow_batch_commands.go",
      "evidence" : "    \"github.com/uber/cadence/service/worker/batcher\""
    }, {
      "pathFrom" : "tools/cli/workflow.go",
      "evidence" : "    \"github.com/uber/cadence/service/worker/batcher\""
    }, {
      "pathFrom" : "tools/cli/admin_db_clean_command.go",
      "evidence" : "    \"github.com/uber/cadence/service/worker/scanner/executions\""
    }, {
      "pathFrom" : "tools/cli/admin.go",
      "evidence" : "    \"github.com/uber/cadence/service/worker/scanner/executions\""
    }, {
      "pathFrom" : "tools/cli/admin_db_scan_command.go",
      "evidence" : "    \"github.com/uber/cadence/service/worker/scanner/executions\""
    } ],
    "toComponent" : "service",
    "count" : 11,
    "text" : null,
    "color" : "",
    "dependencyString" : "tools -> service"
  }, {
    "fromComponent" : "tools",
    "locFrom" : 1271,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "tools/cli/admin_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/types/mapper/thrift\""
    }, {
      "pathFrom" : "tools/cli/admin_kafka_commands.go",
      "evidence" : "    \"github.com/uber/cadence/common/types/mapper/thrift\""
    }, {
      "pathFrom" : "tools/cli/database.go",
      "evidence" : "    \"github.com/uber/cadence/common/persistence/client\""
    } ],
    "toComponent" : "client",
    "count" : 3,
    "text" : null,
    "color" : "",
    "dependencyString" : "tools -> client"
  }, {
    "fromComponent" : "common",
    "locFrom" : 656,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "common/persistence/nosql/nosqlplugin/cassandra/plugin.go",
      "evidence" : "    \"github.com/uber/cadence/environment\""
    }, {
      "pathFrom" : "common/persistence/sql/sql_testing_util.go",
      "evidence" : "    \"github.com/uber/cadence/environment\""
    }, {
      "pathFrom" : "common/persistence/sql/sqlplugin/postgres/plugin.go",
      "evidence" : "    \"github.com/uber/cadence/environment\""
    }, {
      "pathFrom" : "common/persistence/sql/sqlplugin/mysql/plugin.go",
      "evidence" : "    \"github.com/uber/cadence/environment\""
    }, {
      "pathFrom" : "common/persistence/nosql/nosqlplugin/cassandra/gocql/client.go",
      "evidence" : "    \"github.com/uber/cadence/environment\""
    } ],
    "toComponent" : "environment",
    "count" : 5,
    "text" : null,
    "color" : "",
    "dependencyString" : "common -> environment"
  }, {
    "fromComponent" : "tools",
    "locFrom" : 246,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "tools/sql/clitest/updatetaskTest.go",
      "evidence" : "    \"github.com/uber/cadence/schema/mysql\""
    }, {
      "pathFrom" : "tools/sql/handler.go",
      "evidence" : "    \"github.com/uber/cadence/schema/postgres\""
    } ],
    "toComponent" : "schema",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "tools -> schema"
  }, {
    "fromComponent" : "tools",
    "locFrom" : 721,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "tools/sql/clitest/versionTest.go",
      "evidence" : "    \"github.com/uber/cadence/environment\""
    }, {
      "pathFrom" : "tools/sql/clitest/setuptaskTest.go",
      "evidence" : "    \"github.com/uber/cadence/environment\""
    }, {
      "pathFrom" : "tools/sql/clitest/connTest.go",
      "evidence" : "    \"github.com/uber/cadence/environment\""
    }, {
      "pathFrom" : "tools/sql/clitest/handlerTest.go",
      "evidence" : "    \"github.com/uber/cadence/environment\""
    }, {
      "pathFrom" : "tools/sql/clitest/updatetaskTest.go",
      "evidence" : "    \"github.com/uber/cadence/environment\""
    } ],
    "toComponent" : "environment",
    "count" : 5,
    "text" : null,
    "color" : "",
    "dependencyString" : "tools -> environment"
  }, {
    "fromComponent" : "host",
    "locFrom" : 2329,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "host/pinotutils/pinotClient.go",
      "evidence" : "    \"github.com/uber/cadence/common/log\""
    }, {
      "pathFrom" : "host/service.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "host/onebox.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "host/testcluster.go",
      "evidence" : "    \"github.com/uber/cadence/common/metrics\""
    }, {
      "pathFrom" : "host/integrationbase.go",
      "evidence" : "    \"github.com/uber/cadence/common/dynamicconfig\""
    }, {
      "pathFrom" : "host/dynamicconfig.go",
      "evidence" : "    \"github.com/uber/cadence/common/dynamicconfig\""
    }, {
      "pathFrom" : "host/taskpoller.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "host/client.go",
      "evidence" : "    \"github.com/uber/cadence/common/service\""
    }, {
      "pathFrom" : "host/membership_resolver.go",
      "evidence" : "    \"github.com/uber/cadence/common/membership\""
    }, {
      "pathFrom" : "host/membership_hashring.go",
      "evidence" : "    \"github.com/uber/cadence/common/membership\""
    } ],
    "toComponent" : "common",
    "count" : 10,
    "text" : null,
    "color" : "",
    "dependencyString" : "host -> common"
  }, {
    "fromComponent" : "host",
    "locFrom" : 1770,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "host/onebox.go",
      "evidence" : "    \"github.com/uber/cadence/common/asyncworkflow/queue\""
    }, {
      "pathFrom" : "host/service.go",
      "evidence" : "    \"github.com/uber/cadence/common/archiver\""
    }, {
      "pathFrom" : "host/testcluster.go",
      "evidence" : "    \"github.com/uber/cadence/common/archiver\""
    }, {
      "pathFrom" : "host/taskpoller.go",
      "evidence" : "    \"github.com/uber/cadence/service/matching\""
    } ],
    "toComponent" : "service",
    "count" : 4,
    "text" : null,
    "color" : "",
    "dependencyString" : "host -> service"
  }, {
    "fromComponent" : "host",
    "locFrom" : 356,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "host/testcluster.go",
      "evidence" : "    \"github.com/uber/cadence/testflags\""
    } ],
    "toComponent" : "testflags",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "host -> testflags"
  }, {
    "fromComponent" : "host",
    "locFrom" : 256,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "host/integrationbase.go",
      "evidence" : "    \"github.com/uber/cadence/environment\""
    } ],
    "toComponent" : "environment",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "host -> environment"
  }, {
    "fromComponent" : "host",
    "locFrom" : 1230,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "host/onebox.go",
      "evidence" : "    \"github.com/uber/cadence/service/matching\""
    }, {
      "pathFrom" : "host/taskpoller.go",
      "evidence" : "    \"github.com/uber/cadence/service/matching\""
    } ],
    "toComponent" : "client",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "host -> client"
  }, {
    "fromComponent" : "canary",
    "locFrom" : 151,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "canary/runner.go",
      "evidence" : "    \"github.com/uber/cadence/common/log/loggerimpl\""
    } ],
    "toComponent" : "common",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "canary -> common"
  }, {
    "fromComponent" : "client",
    "locFrom" : 1832,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "client/clientfactory.go",
      "evidence" : "    \"github.com/uber/cadence/common/dynamicconfig\""
    }, {
      "pathFrom" : "client/matching/loadbalancer.go",
      "evidence" : "    \"github.com/uber/cadence/common/dynamicconfig\""
    }, {
      "pathFrom" : "client/matching/interface.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "client/matching/client.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "client/matching/peerResolver.go",
      "evidence" : "    \"github.com/uber/cadence/common/service\""
    }, {
      "pathFrom" : "client/frontend/interface.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "client/admin/interface.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "client/history/interface.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "client/history/client.go",
      "evidence" : "    \"github.com/uber/cadence/common/types\""
    }, {
      "pathFrom" : "client/history/peerResolver.go",
      "evidence" : "    \"github.com/uber/cadence/common/service\""
    }, {
      "pathFrom" : "client/clientBean.go",
      "evidence" : "    \"github.com/uber/cadence/common/cluster\""
    } ],
    "toComponent" : "common",
    "count" : 11,
    "text" : null,
    "color" : "",
    "dependencyString" : "client -> common"
  } ],
  "componentDependenciesErrors" : [ ],
  "logicalDecomposition" : {
    "name" : "primary",
    "scope" : "main",
    "filters" : [ ],
    "componentsFolderDepth" : 1,
    "minComponentsCount" : 0,
    "components" : [ {
      "name" : "cmd",
      "sourceFileFilters" : [ {
        "pathPattern" : "./cmd/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "bench",
      "sourceFileFilters" : [ {
        "pathPattern" : "./bench/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "ROOT",
      "sourceFileFilters" : [ {
        "pathPattern" : "./.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      }, {
        "pathPattern" : "./cmd/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./bench/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./tools/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./docker/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./host/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./proto/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./canary/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./config/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./internal/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./schema/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./common/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./testflags/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./environment/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./service/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./client/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "tools",
      "sourceFileFilters" : [ {
        "pathPattern" : "./tools/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "docker",
      "sourceFileFilters" : [ {
        "pathPattern" : "./docker/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "host",
      "sourceFileFilters" : [ {
        "pathPattern" : "./host/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "proto",
      "sourceFileFilters" : [ {
        "pathPattern" : "./proto/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "canary",
      "sourceFileFilters" : [ {
        "pathPattern" : "./canary/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "config",
      "sourceFileFilters" : [ {
        "pathPattern" : "./config/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "internal",
      "sourceFileFilters" : [ {
        "pathPattern" : "./internal/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "schema",
      "sourceFileFilters" : [ {
        "pathPattern" : "./schema/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "common",
      "sourceFileFilters" : [ {
        "pathPattern" : "./common/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "testflags",
      "sourceFileFilters" : [ {
        "pathPattern" : "./testflags/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "environment",
      "sourceFileFilters" : [ {
        "pathPattern" : "./environment/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "service",
      "sourceFileFilters" : [ {
        "pathPattern" : "./service/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "client",
      "sourceFileFilters" : [ {
        "pathPattern" : "./client/.*",
        "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" : "cmd",
    "value" : 9,
    "description" : [ ]
  }, {
    "name" : "bench",
    "value" : 18,
    "description" : [ ]
  }, {
    "name" : "ROOT",
    "value" : 2,
    "description" : [ ]
  }, {
    "name" : "tools",
    "value" : 55,
    "description" : [ ]
  }, {
    "name" : "docker",
    "value" : 35,
    "description" : [ ]
  }, {
    "name" : "host",
    "value" : 15,
    "description" : [ ]
  }, {
    "name" : "proto",
    "value" : 10,
    "description" : [ ]
  }, {
    "name" : "canary",
    "value" : 24,
    "description" : [ ]
  }, {
    "name" : "config",
    "value" : 31,
    "description" : [ ]
  }, {
    "name" : "internal",
    "value" : 1,
    "description" : [ ]
  }, {
    "name" : "schema",
    "value" : 125,
    "description" : [ ]
  }, {
    "name" : "common",
    "value" : 508,
    "description" : [ ]
  }, {
    "name" : "testflags",
    "value" : 1,
    "description" : [ ]
  }, {
    "name" : "environment",
    "value" : 1,
    "description" : [ ]
  }, {
    "name" : "service",
    "value" : 232,
    "description" : [ ]
  }, {
    "name" : "client",
    "value" : 20,
    "description" : [ ]
  } ],
  "linesOfCodePerComponent" : [ {
    "name" : "cmd",
    "value" : 913,
    "description" : [ ]
  }, {
    "name" : "bench",
    "value" : 2431,
    "description" : [ ]
  }, {
    "name" : "ROOT",
    "value" : 138,
    "description" : [ ]
  }, {
    "name" : "tools",
    "value" : 14357,
    "description" : [ ]
  }, {
    "name" : "docker",
    "value" : 2354,
    "description" : [ ]
  }, {
    "name" : "host",
    "value" : 2643,
    "description" : [ ]
  }, {
    "name" : "proto",
    "value" : 2279,
    "description" : [ ]
  }, {
    "name" : "canary",
    "value" : 2672,
    "description" : [ ]
  }, {
    "name" : "config",
    "value" : 1801,
    "description" : [ ]
  }, {
    "name" : "internal",
    "value" : 15,
    "description" : [ ]
  }, {
    "name" : "schema",
    "value" : 2558,
    "description" : [ ]
  }, {
    "name" : "common",
    "value" : 115160,
    "description" : [ ]
  }, {
    "name" : "testflags",
    "value" : 33,
    "description" : [ ]
  }, {
    "name" : "environment",
    "value" : 179,
    "description" : [ ]
  }, {
    "name" : "service",
    "value" : 66432,
    "description" : [ ]
  }, {
    "name" : "client",
    "value" : 4222,
    "description" : [ ]
  } ]
} ]