)]}'
{
  "commit": "fb0fb6db2a30038fecea4500ffd4281ad510c1d3",
  "tree": "2d2e9a9457da5c50af1a30aa258e9c5d58ba8d15",
  "parents": [
    "d9775a656cb709133407507b1e3a94793dd0ea49"
  ],
  "author": {
    "name": "Serge Bazanski",
    "email": "serge@monogon.tech",
    "time": "Fri Feb 18 12:11:28 2022 +0100"
  },
  "committer": {
    "name": "Sergiusz Bazanski",
    "email": "serge@monogon.tech",
    "time": "Mon Feb 21 11:58:32 2022 +0000"
  },
  "message": "m/n/c/rpc: implement Span/Trace\n\nThis is a first pass at implementing basic support for\nDapper/OpenTracing/OpenTelemetry-style tracing within Metropolis RPCs.\n\nMore precisely, this implements an API to expose an RPC-local Span to\nRPC handlers (unary and streaming). These Spans are currently backed by\na logtree logger, and aren\u0027t processed further (ie. there\u0027s no support\nfor child spans and carrying span information over the wire when\nperforming remote calls from an active Span). However, this allows us to\nat least start emitting Span Events and use them for debugging purposes.\n\nSince we don\u0027t yet have OpenTelemetry in our GOPATH, we reimplement a\nminimum subset of the Span type that should still be compatible with\nreal OpenTelemetry types. Once OpenTelemetry lands in our GOPATH (by way\nof it landing in k8s, for example), we\u0027ll move over to using the real\ntype instead. Then, we can also begin integrating with OpenTelemetry\nproper, ie. start sending traces over to collectors, start\ninjecting/extracing span information over gRPC, etc.\n\nAnother change on top of this one actually uses the Trace(ctx)\nfunctionality within the curator - this is just the library\nimplementation.\n\nChange-Id: I85506303538aacc137a28828ab39ccfd9ff72924\nReviewed-on: https://review.monogon.dev/c/monogon/+/541\nReviewed-by: Leopold Schabel \u003cleo@nexantic.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b716e19b5229929a9b6c1bdafe6b0b03138674b8",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/curator/impl_leader_test.go",
      "new_id": "a893b874fb2b8dd33f55e3ea704cd8a1cd5c4258",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/curator/impl_leader_test.go"
    },
    {
      "type": "modify",
      "old_id": "ab013bba0518fc74076f80c3e507e4331ca23b29",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/curator/listener.go",
      "new_id": "3298d12930866f7a86c8b04aad97dac3361ed95c",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/curator/listener.go"
    },
    {
      "type": "modify",
      "old_id": "d281a923da61e880783e08a91abb559c6ffaa4bc",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/rpc/BUILD.bazel",
      "new_id": "e7499682219c50197244970414e945d004a0d58f",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/rpc/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "6ae2618366874645cbece794ce2b13c88b6e3e01",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/rpc/server_authentication.go",
      "new_id": "50cf36a1fb81d96884f124d5c80891dd26af143a",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/rpc/server_authentication.go"
    },
    {
      "type": "modify",
      "old_id": "d383150e79fce7050528c4c79a1c7531d0ae7809",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/rpc/server_authentication_test.go",
      "new_id": "795b46022def5b3807906ef8d8175c945d683ec8",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/rpc/server_authentication_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2bc11c21d0790489ce9fa7e040653f7089d8c757",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/rpc/server_interceptors.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "65802cdfce886c17fff39ae14648c06f92000b94",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/rpc/trace.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "750ffe8ed132331979b7a1fc3e6c6231a14b4d7a",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/rpc/trace_test.go"
    }
  ]
}
