{"id":21178791,"url":"https://github.com/nfibrokerage/slipstream_honeycomb","last_synced_at":"2025-07-30T14:38:44.644Z","repository":{"id":47203343,"uuid":"335774334","full_name":"NFIBrokerage/slipstream_honeycomb","owner":"NFIBrokerage","description":"An adapter between slipstream telemetry and honeycomb events","archived":false,"fork":false,"pushed_at":"2024-03-18T19:04:27.000Z","size":183,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-03-07T02:39:36.571Z","etag":null,"topics":["honeycomb","telemetry","websocket"],"latest_commit_sha":null,"homepage":null,"language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NFIBrokerage.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-03T22:38:27.000Z","updated_at":"2022-05-11T19:44:52.000Z","dependencies_parsed_at":"2024-03-18T20:32:56.265Z","dependency_job_id":"9899f2d3-41ec-42d6-9a02-eff9bef37d9c","html_url":"https://github.com/NFIBrokerage/slipstream_honeycomb","commit_stats":{"total_commits":15,"total_committers":2,"mean_commits":7.5,"dds":"0.33333333333333337","last_synced_commit":"93e4000d76defe1ebd58858ff3e340d51b70e7f1"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NFIBrokerage%2Fslipstream_honeycomb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NFIBrokerage%2Fslipstream_honeycomb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NFIBrokerage%2Fslipstream_honeycomb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NFIBrokerage%2Fslipstream_honeycomb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NFIBrokerage","download_url":"https://codeload.github.com/NFIBrokerage/slipstream_honeycomb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243629401,"owners_count":20322048,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["honeycomb","telemetry","websocket"],"created_at":"2024-11-20T17:26:26.498Z","updated_at":"2025-03-14T18:44:00.058Z","avatar_url":"https://github.com/NFIBrokerage.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SlipstreamHoneycomb\n\n![Actions CI](https://github.com/NFIBrokerage/slipstream_honeycomb/workflows/Actions%20CI/badge.svg)\n\nAn adapter between slipstream telemetry and honeycomb events\n\n## Honeycomb\n\n[Honeycomb](https://www.honeycomb.io/) is an observability tool with a sweet\nquery interface and distributed tracing support.\n\nAt NFIBrokerage, we :heart: honeycomb because it enables us to debug issues in\nfractions of time (and with far more certainty) than log ingestion services,\nand lets us understand our system in real-time.\n\nFor example, it was gloriously fast to debug this issue:\n[NFIBrokerage/slipstream#12](https://github.com/NFIBrokerage/slipstream/issues/12)\nbecause of the telemetry support added in 0.3 and this exporter library.\n\n## Connection Telemetry\n\nSlipstreamHoneycomb currently captures the only telemetry which Slipstream\nemits: connection messages.\n\nThese connection messages are fairly low-level and are very quick (usually\na matter of microseconds). Below is an example screenshot of a trace in our\nHoneycomb:\n\n![example](guides/connection-example.png)\n\nThe long purple bar is the connection, which was open for ~150s in this case.\nThat came from the `[:slipstream, :connection, :connect, :stop]` event. The\nother spans of this connection are `[:slipstream, :connection, :handle,\n:stop]`. From top to bottom, we see from the example:\n\n- the initial `handle_continue(:connect, ..`\n- the gun connection coming up (`{:gun_up, conn, :http}`)\n- the gun upgrade which is decoded into the `%Slipstream.Events.ChannelConnected{}`\n  event\n- a JoinTopic command from the client\n- a `:gun_ws` message that decoded into a TopicJoinSucceeded event\n- a big push of data from the remote server (decoded to MessageReceived event)\n\nand then much later (~30s), we see:\n\n- a SendHeartbeat command, followed by\n- the HeartbeatAcknowledged\n\n(x4). And finally, the parent process exits with a ParentProcessExited event.\n\n## Installation\n\n```elixir\ndef deps do\n  [\n    {:slipstream_honeycomb, \"~\u003e 0.1\"}\n  ]\nend\n```\n\nCheck out the docs here: https://hexdocs.pm/slipstream_honeycomb\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfibrokerage%2Fslipstream_honeycomb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnfibrokerage%2Fslipstream_honeycomb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfibrokerage%2Fslipstream_honeycomb/lists"}