原始 JSON 报告 机器可读
{
"data": {
"repo": {
"topics": [
"elixir",
"metrics",
"instrumentation",
"events"
],
"is_fork": false,
"size_kb": 231,
"has_wiki": false,
"homepage": "https://hexdocs.pm/telemetry",
"languages": {
"Elixir": 501,
"Erlang": 50243
},
"pushed_at": "2026-05-11T08:18:30Z",
"created_at": "2018-08-06T15:58:01Z",
"owner_type": "Organization",
"updated_at": "2026-06-24T07:17:00Z",
"description": "Dynamic dispatching library for metrics and instrumentations.",
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "main",
"license_spdx_raw": "Apache-2.0",
"primary_language": "Erlang",
"significant_languages": [
"Erlang"
]
},
"owner": {
"blog": null,
"name": null,
"type": "Organization",
"login": "beam-telemetry",
"company": null,
"location": null,
"followers": 21,
"avatar_url": "https://avatars.githubusercontent.com/u/42248730?v=4",
"created_at": "2018-08-09T17:14:24Z",
"is_verified": null,
"public_repos": 8,
"account_age_days": 2903
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v1.4.2",
"kind": "patch",
"published_at": "2026-05-11T08:18:24Z"
},
{
"tag": "v1.4.1",
"kind": "patch",
"published_at": "2026-03-09T09:45:45Z"
},
{
"tag": "v1.4.0",
"kind": "minor",
"published_at": "2026-03-07T11:25:00Z"
},
{
"tag": "v1.3.0",
"kind": "minor",
"published_at": "2024-08-22T16:48:55Z"
},
{
"tag": "v1.2.1",
"kind": "patch",
"published_at": "2023-01-12T22:39:56Z"
},
{
"tag": "v1.2.0",
"kind": "minor",
"published_at": "2023-01-03T22:43:58Z"
},
{
"tag": "v1.1.0",
"kind": "minor",
"published_at": "2022-04-01T20:43:48Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2021-07-03T18:29:46Z"
},
{
"tag": "v0.4.3",
"kind": "patch",
"published_at": "2021-04-12T17:55:26Z"
},
{
"tag": "v0.4.2",
"kind": "patch",
"published_at": "2020-06-19T22:40:31Z"
},
{
"tag": "v0.4.1",
"kind": "patch",
"published_at": "2019-11-18T19:23:29Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2019-02-09T12:56:04Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2018-12-31T10:43:05Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2018-10-12T09:02:33Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2018-08-13T08:02:21Z"
}
],
"recent_commits": [
{
"oid": "7baf8085e406d5ae9e43b284d7c866742ae04b28",
"body": null,
"is_bot": false,
"headline": "Release v1.4.2",
"author_name": "José Valim",
"author_login": "josevalim",
"committed_at": "2026-05-11T08:18:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a382cd144aa3a34e807a0aa245aa7e8629acf399",
"body": null,
"is_bot": false,
"headline": "Use structured logging all the way (#149)",
"author_name": "Nelson Vides",
"author_login": "NelsonVides",
"committed_at": "2026-03-10T16:00:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "87c134544c0430b073f0d246c80cc15cc9f4fbe3",
"body": "In `telemetry:attach_many/4`, we check if the function given to the\nconfig is an external function and log noisy errors if it is not,\nbecause the Erlang efficiency guide says these are more efficient.\nEnforce the same for the `telemetry_handler_table` module at least for\nthe very hot path that looks up the handlers for an event. Also remove a\ncase-of from the execution path for another picosecond shave off.",
"is_bot": false,
"headline": "Persistent term optimisations (#148)",
"author_name": "Nelson Vides",
"author_login": "NelsonVides",
"committed_at": "2026-03-10T16:00:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "11462db509623be85c7acf3f15d0579d0d3f4a79",
"body": null,
"is_bot": false,
"headline": "Release v1.4.1",
"author_name": "José Valim",
"author_login": "josevalim",
"committed_at": "2026-03-09T09:45:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "11210b44b3bb431059a99847ccaec20352b5bac5",
"body": null,
"is_bot": false,
"headline": "Do not crash on failed persistent term lookup",
"author_name": "José Valim",
"author_login": "josevalim",
"committed_at": "2026-03-09T09:04:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "972ff3bb1b0b95f907d93bbb3726b95eee7b725c",
"body": null,
"is_bot": false,
"headline": "Release v1.4.0",
"author_name": "José Valim",
"author_login": "josevalim",
"committed_at": "2026-03-07T11:25:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ddc7f13e4f93d103422f98eb481d3bade2cb73f8",
"body": null,
"is_bot": false,
"headline": "Add \"since\" doc info and spec to persist/0 (#146)",
"author_name": "Andrea Leopardi",
"author_login": "whatyouhide",
"committed_at": "2026-02-24T08:04:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "55d657eb6102b8a81a519e9abca5990506e00ee8",
"body": null,
"is_bot": false,
"headline": "Remove function allocation and remote call on execution (#145)",
"author_name": "Łukasz Jan Niemier",
"author_login": "hauleth",
"committed_at": "2026-02-23T11:52:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c0aff75703636e93dcc581f3dc84c9a7f4dc5870",
"body": "This adds new `telemetry:persist/0` function that allows persisting telemetry\nhandlers to improve execution performance at cost of slowing down\nattaching and detaching handlerrs.",
"is_bot": false,
"headline": "Implement `telemetry:persist/0` (#144)",
"author_name": "Łukasz Jan Niemier",
"author_login": "hauleth",
"committed_at": "2026-02-22T17:21:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "614bfb91e9e42e305b95860cc64d237c01435d65",
"body": null,
"is_bot": false,
"headline": "Use field name instead of magic number (#143)",
"author_name": "Łukasz Jan Niemier",
"author_login": "hauleth",
"committed_at": "2026-02-18T10:35:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "13a380ed0214a8f5824c99ef9897db50de84c90c",
"body": null,
"is_bot": false,
"headline": "Test CI against multiple OTP versions (24-28) (#140)",
"author_name": "Ang",
"author_login": "kianmeng",
"committed_at": "2025-10-19T10:46:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2f29d755aaf98d1c49a166cf5372755bb7033e72",
"body": null,
"is_bot": false,
"headline": "Improve docs for failure events (#139)",
"author_name": "Andrea Leopardi",
"author_login": "whatyouhide",
"committed_at": "2025-05-17T20:39:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7b99309898cc827fda3f1956e23d34d349453f16",
"body": null,
"is_bot": false,
"headline": "Fix the telemetry:span_function/0 type (#137)",
"author_name": "Andrea Leopardi",
"author_login": "whatyouhide",
"committed_at": "2025-01-15T08:04:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d8af76720856bcf26641ee1307658ad8f25e466",
"body": null,
"is_bot": false,
"headline": "Release v1.3.0 (#135)",
"author_name": "Wojtek Mach",
"author_login": "wojtekmach",
"committed_at": "2024-08-22T16:48:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98714d1932eeca2893d6a282e5b191dbc4bbd0da",
"body": null,
"is_bot": false,
"headline": "Move docs to OTP 27 ex_doc support (#134)",
"author_name": "Andrea Leopardi",
"author_login": "whatyouhide",
"committed_at": "2024-07-15T14:34:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aa65dee90613606d0b83ee642edef7f33707b00b",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "José Valim",
"author_login": "josevalim",
"committed_at": "2024-02-25T11:18:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c09b24622b7178cdb9a90a078c50c65788f5761e",
"body": null,
"is_bot": false,
"headline": "Add latest Erlang 26.x to CI, bump rebar3, and GitHub actions (#131)",
"author_name": "Kian-Meng Ang",
"author_login": "kianmeng",
"committed_at": "2023-10-31T07:06:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "509a4ae686b833954f8f2881dc29e85c9f77b2c8",
"body": "It's useful to be able to return extra measurements from span, based on values\r\nthat cannot be determined from the outside, such as the number of bytes in an\r\nHTTP request.",
"is_bot": false,
"headline": "Ability to return extra measurements from :telemetry.span (#130)",
"author_name": "Tom Taylor",
"author_login": "tomtaylor",
"committed_at": "2023-07-26T09:24:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ee4223616a65639ae0f4eb8cea9100514023969b",
"body": null,
"is_bot": false,
"headline": "Hide telemetry_test:handle_event/4 in the docs (#128)",
"author_name": "Andrea Leopardi",
"author_login": "whatyouhide",
"committed_at": "2023-03-30T15:49:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "80c7eb7ed620b7e0aff1c38586901c71d3565308",
"body": null,
"is_bot": false,
"headline": "Release 1.2.1 (#125)",
"author_name": "Arek Gil",
"author_login": "arkgil",
"committed_at": "2023-01-12T22:39:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "66be1a65dd30a43216f15b4b8403384794a057b6",
"body": null,
"is_bot": false,
"headline": "replace local function capture in telemetry_test (#124)",
"author_name": "Ethan Gunderson",
"author_login": "ethangunderson",
"committed_at": "2023-01-12T09:55:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f1c30bcfee781d2af2ccf7ba9320869e3571918",
"body": null,
"is_bot": false,
"headline": "Fix docs generation (#123)",
"author_name": "Arek Gil",
"author_login": "arkgil",
"committed_at": "2023-01-04T21:36:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "09c3dd012f88fca2fd7148adbeefddee66eb2e48",
"body": null,
"is_bot": false,
"headline": "Release 1.2.0 (#121)",
"author_name": "Arek Gil",
"author_login": "arkgil",
"committed_at": "2023-01-03T22:43:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aef5cd07f6fded94cdabee40e8c613c884189be7",
"body": null,
"is_bot": false,
"headline": "Fix example in docs (#122)",
"author_name": "Maarten van Vliet",
"author_login": "maartenvanvliet",
"committed_at": "2023-01-03T14:38:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "af3701351ef73146f8f2a68dfbc2d182d58063b0",
"body": null,
"is_bot": false,
"headline": "Add telemetry_test (#118)",
"author_name": "Andrea Leopardi",
"author_login": "whatyouhide",
"committed_at": "2023-01-02T22:24:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5fccc2efd0d86c4de9025d4ae84d9f7c28310690",
"body": null,
"is_bot": false,
"headline": "Update versions on CI (#120)",
"author_name": "Arek Gil",
"author_login": "arkgil",
"committed_at": "2023-01-01T22:13:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dc1cf9e0d71739485272fb38cec6e96b5e6bdfe9",
"body": null,
"is_bot": false,
"headline": "Update documentation on telemetry:span/3 (#117)",
"author_name": "Jesse Van Volkinburg",
"author_login": "vanvoljg",
"committed_at": "2022-10-26T06:52:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b904a765ce105d23d7eefa3b6e3f16d6d7d158d2",
"body": null,
"is_bot": false,
"headline": "Point to new repo (#116)",
"author_name": "Paulo Daniel Gonzalez",
"author_login": "pdgonzalez872",
"committed_at": "2022-10-20T16:57:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "091121f6153840fd079e68940715a5c35c5aa445",
"body": null,
"is_bot": false,
"headline": "Update documentation on telemetry:span/3 (#113)",
"author_name": "Benjamin Milde",
"author_login": "LostKobrakai",
"committed_at": "2022-06-13T12:54:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3f069cfd2193396bee221d0709287c1bdaa4fabf",
"body": "- Adds a link to the hex plugin.\r\n- Adds mix.exs to the extra files that must be included in the published package (1.1.0 already shipped with this).",
"is_bot": false,
"headline": "Post 1.1.0 updates (#108)",
"author_name": "Arek Gil",
"author_login": "arkgil",
"committed_at": "2022-04-02T18:13:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "deab9ae2b90242d031466030fb4c83bb5fc559f5",
"body": null,
"is_bot": false,
"headline": "Release 1.1.0 (#107)",
"author_name": "Arek Gil",
"author_login": "arkgil",
"committed_at": "2022-04-01T20:43:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3ba8b24ac7b46ce03b644f96f143e8abed71d62",
"body": null,
"is_bot": false,
"headline": "Guard telemetry:execute/3 (#105)",
"author_name": "José Valim",
"author_login": "josevalim",
"committed_at": "2022-02-01T16:19:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ebe0f736b75ffa49caa610b4cc3d76bdb7afc005",
"body": null,
"is_bot": false,
"headline": "Use rebar3_ex_doc",
"author_name": "José Valim",
"author_login": "josevalim",
"committed_at": "2022-02-01T15:43:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e071517465032c643e07cf99b10ddd24f0bab4be",
"body": null,
"is_bot": false,
"headline": "Improve README and format examples (#104)",
"author_name": "Aziz Köksal",
"author_login": "azizk",
"committed_at": "2022-01-28T20:32:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1cfc47bd4f243dda85ae71ddea8d5422208ae912",
"body": null,
"is_bot": false,
"headline": "Fix invalid syntax in docs",
"author_name": "José Valim",
"author_login": "josevalim",
"committed_at": "2022-01-11T15:21:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cfbe641e61b83f0a8c3865d1877588d04a04bf1a",
"body": null,
"is_bot": false,
"headline": "Update documentation for span/3 (#101)",
"author_name": "Stefan Chrobot",
"author_login": "stefanchrobot",
"committed_at": "2021-12-13T11:42:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5baeb012311268aa285b30dbd14169724b2070bf",
"body": null,
"is_bot": false,
"headline": "Update mix.exs (#103)",
"author_name": "José Valim",
"author_login": "josevalim",
"committed_at": "2021-12-02T14:32:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a9da7b837b3fb896745702d7b341637a96c09ad",
"body": "This allows Elixir to compile the project without shelling\r\nout to Rebar 3, which is useful in low memory environments.\r\nGenerally speaking, I wouldn't say this is a requirement for\r\nprojects, but given telemetry usage is widespread, it makes\r\nsense to optimize it to different build tools.\r\n\r\nThe on\n[…]\n longer be hardcoded\r\nto \"git\". For this reason, we also introduce a \"RELEASE.md\"\r\nfile with steps to release a new version (which already\r\nrequires some extra steps due to the use of ExDoc for docs).",
"is_bot": false,
"headline": "Add mix.exs (#99)",
"author_name": "José Valim",
"author_login": "josevalim",
"committed_at": "2021-10-21T19:46:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f627244af07ba5065ef9899ce1fbc18dc2dd1f8e",
"body": "* Emit telemetry failure event on handler failure\r\n\r\n* Feedback\r\n\r\n* Use same measurements we use for span start",
"is_bot": false,
"headline": "Emit telemetry failure event on handler failure (#98)",
"author_name": "Bryan Naegele",
"author_login": "bryannaegele",
"committed_at": "2021-10-14T16:37:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a9b2f4b3d050de195cd57b94afaa392449982f18",
"body": null,
"is_bot": false,
"headline": "Rewrite unclear warning / fix typos (#96)",
"author_name": "Jaime Iniesta",
"author_login": "jaimeiniesta",
"committed_at": "2021-09-22T13:58:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce81d6c94aa450f3bf10a30b9eab2d9c4f3986fe",
"body": "Hex.pm recommends this, and it helps tools identify exactly\r\nwhich license this project is released under.",
"is_bot": false,
"headline": "Use SPDX ID for licenses in app src (#95)",
"author_name": "Rosa Richter",
"author_login": "Cantido",
"committed_at": "2021-09-13T21:38:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0c2d4c53fe3d8f70b7fcd2689aa35529751b52be",
"body": null,
"is_bot": false,
"headline": "Fix typo (#94)",
"author_name": "Kian Meng Ang",
"author_login": "kianmeng",
"committed_at": "2021-08-22T13:45:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f559faee2f01f0757ac055e501f48abc8e1ba1bd",
"body": null,
"is_bot": false,
"headline": "Add monotonic_time to span measurements (#92)",
"author_name": "José Valim",
"author_login": null,
"committed_at": "2021-08-15T06:43:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "96e03bee606c1af5e0bb7b96bdf1baa7f441226b",
"body": null,
"is_bot": false,
"headline": "Clarify telemetry vs otel (#93)",
"author_name": "José Valim",
"author_login": null,
"committed_at": "2021-08-13T18:43:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9eb8f71dcc64ee9c4a99870594cccb18d37406d9",
"body": null,
"is_bot": false,
"headline": "Fix link to telemetry:attach/4 docs in warning (#91)",
"author_name": "nico piderman",
"author_login": "sneako",
"committed_at": "2021-08-06T15:02:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "acc6672d75dfc1102b579f8c69d58aa718f9cc90",
"body": null,
"is_bot": false,
"headline": "Change docs main to telemetry (#90)",
"author_name": "Wojtek Mach",
"author_login": "wojtekmach",
"committed_at": "2021-08-02T12:00:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "961240f227331d6a6491c90abdee242cd9746c80",
"body": null,
"is_bot": false,
"headline": "Remove extra space (#89)",
"author_name": "Thanabodee Charoenpiriyakij",
"author_login": "wingyplus",
"committed_at": "2021-07-20T06:06:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "680be0a30443e24fc0b105634242a71e41b3c818",
"body": null,
"is_bot": false,
"headline": "Revert vsn change (#87)",
"author_name": "Wojtek Mach",
"author_login": "wojtekmach",
"committed_at": "2021-07-03T21:59:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "50bf5a31ac51c006acd4d79a15c4d5fe351d237b",
"body": null,
"is_bot": false,
"headline": "Fix docs configuration (#86)",
"author_name": "Wojtek Mach",
"author_login": "wojtekmach",
"committed_at": "2021-07-03T21:36:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "04a1649098da2eee4856ff65ca456343fc6a0be6",
"body": "Co-authored-by: Wojtek Mach <wojtekmach@users.noreply.github.com>",
"is_bot": false,
"headline": "Release 1.0.0 (#71)",
"author_name": "Arek Gil",
"author_login": "arkgil",
"committed_at": "2021-07-03T18:29:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "594932d79f5ec23faf7d09ca0f4dbe640893ca52",
"body": null,
"is_bot": false,
"headline": "Update docs (#85)",
"author_name": "Wojtek Mach",
"author_login": "wojtekmach",
"committed_at": "2021-07-02T21:57:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a2e98a6474212a518fd1406d457e39839ae51e0b",
"body": "This provides immediate feedback for the Telemetry user about improper\r\nhandler function definition.",
"is_bot": false,
"headline": "Inform user about usage of local functions as handlers (#84)",
"author_name": "Łukasz Jan Niemier",
"author_login": "hauleth",
"committed_at": "2021-06-30T17:14:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3c8584cd820ce550528b46df00c959cc901e1c91",
"body": "Requires latest ex_doc master",
"is_bot": false,
"headline": "Replace docs.exs with docs.config (#83)",
"author_name": "Wojtek Mach",
"author_login": "wojtekmach",
"committed_at": "2021-06-25T15:15:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "708d47375187988d75b4fd05410c14ca0ca8229f",
"body": null,
"is_bot": false,
"headline": "Generate docs with ExDoc (#81)",
"author_name": "Wojtek Mach",
"author_login": "wojtekmach",
"committed_at": "2021-06-01T17:37:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d29661440bc55b0b4db1bc252e748dcab4ad619f",
"body": null,
"is_bot": false,
"headline": "Fix typo in README.md (#80)",
"author_name": "James Elligett",
"author_login": "jelligett",
"committed_at": "2021-06-01T17:37:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "40ce977e4a18d7027df4ed515722c7fd5d2cbe47",
"body": null,
"is_bot": false,
"headline": "Update CI config (#82)",
"author_name": "Wojtek Mach",
"author_login": "wojtekmach",
"committed_at": "2021-06-01T15:02:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "51710d3b648172f59d1f6cd528add9a87d8cd701",
"body": "Test with OTP 24 and update patch version numbers for older releases.",
"is_bot": false,
"headline": "Update Erlang on CI (#79)",
"author_name": "Arek Gil",
"author_login": "arkgil",
"committed_at": "2021-05-19T21:44:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b46676bf30ebe453ffcf860a92de808fed83925",
"body": null,
"is_bot": false,
"headline": "Clarify span documentation regarding metadata (#78)",
"author_name": "Dave Lucia",
"author_login": "davydog187",
"committed_at": "2021-04-15T06:09:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce632f7d9f8c93027c95d7706e1295be7668cbe8",
"body": null,
"is_bot": false,
"headline": "Release 0.4.3 (#76)",
"author_name": "Arek Gil",
"author_login": "arkgil",
"committed_at": "2021-04-12T17:55:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f205222ebfa241f7317e6aa30d076ec83bf0fb2",
"body": "* Add support for span context\r\n\r\nCo-authored-by: José Valim <jose.valim@plataformatec.com.br>",
"is_bot": false,
"headline": "Add support for span context (#75)",
"author_name": "Bryan Naegele",
"author_login": "bryannaegele",
"committed_at": "2021-04-02T21:33:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "09c132f1083cb6faa56d05dfdd0c443800bdf5cc",
"body": null,
"is_bot": false,
"headline": "Migrate to main branch (#73)",
"author_name": "Bryan Naegele",
"author_login": "bryannaegele",
"committed_at": "2021-03-10T00:00:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ccce671a89efc9954a8514551f0717c8a7282bc",
"body": null,
"is_bot": false,
"headline": "Switch to GitHub actions (#72)",
"author_name": "Arek Gil",
"author_login": "arkgil",
"committed_at": "2021-03-09T21:55:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e9f43dae2cc6b9d52112b41d4f5785da0a668824",
"body": null,
"is_bot": false,
"headline": "Fix typo in telemetry module documentation (#70)",
"author_name": "Pierre Allix",
"author_login": "pallix",
"committed_at": "2021-02-17T12:31:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "53fbf8abdebea0ff0d9de9bb09740c578533d479",
"body": "add a note about using convert_time_unit",
"is_bot": false,
"headline": "Merge pull request #67 from ericsullivan/note_about_convert_time_unit",
"author_name": "Bryan Naegele",
"author_login": "bryannaegele",
"committed_at": "2020-10-01T03:23:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "35ef820f8d8372b82bf813b2ba91c3a0f438f26b",
"body": null,
"is_bot": false,
"headline": "add a note about using convert_time_unit",
"author_name": "Eric Sullivan",
"author_login": "ericsullivan",
"committed_at": "2020-09-29T13:50:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "90f84b0e31f016e13dd774ba4fdd790f71e80db3",
"body": null,
"is_bot": false,
"headline": "Release 0.4.2 (#66)",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2020-06-19T22:40:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f78f16d8793def67dcd900ef1806359d48b38703",
"body": null,
"is_bot": false,
"headline": "Update README.md (#65)",
"author_name": "Keith",
"author_login": "ktec",
"committed_at": "2020-06-18T11:54:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e2fd3b6f227f49441e9070d88aea58f23e2fbbd7",
"body": "Fix tiny typo.",
"is_bot": false,
"headline": "Update README.md (#63)",
"author_name": "Keith",
"author_login": "ktec",
"committed_at": "2020-06-17T15:22:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b13bad0a7c037e9817ed76f9b0bb6ccdcdd682d0",
"body": null,
"is_bot": false,
"headline": "Add span/3 function (#61)",
"author_name": "Alexander Koutmos",
"author_login": "akoutmos",
"committed_at": "2020-06-13T16:13:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "292c065be21d5c54b8e9465cfaed194a138fe3ee",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "José Valim",
"author_login": null,
"committed_at": "2019-11-27T17:00:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3d28197959bcb43993567f8e8e665c73d5107db",
"body": null,
"is_bot": false,
"headline": "Release 0.4.1",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-11-18T19:23:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d81f7f5ae402f4be947e0bcb665574fc605764c4",
"body": null,
"is_bot": false,
"headline": "Protect calls to execute (#54)",
"author_name": "Vince Foley",
"author_login": "binaryseed",
"committed_at": "2019-11-18T08:53:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7c065f5e1041c94baf0201c57021b3cee36074aa",
"body": null,
"is_bot": false,
"headline": "Highlight sync nature of execute in Readme (#52)",
"author_name": "Aleksandr",
"author_login": "Kitton",
"committed_at": "2019-10-30T17:21:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f78e488cba01817258785f6409ce81bdbdfddd4a",
"body": null,
"is_bot": false,
"headline": "Use local namespacec for @equiv",
"author_name": "José Valim",
"author_login": null,
"committed_at": "2019-10-29T10:08:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8ea523dfd20027c76a6e00df319a661282c550ce",
"body": "This reduces confusion as it is more important for user that use\r\n`telemetry:attach/4` to know where the callback will run rather than to\r\nknow the event provider to know.",
"is_bot": false,
"headline": "docs: move running process information to the attach functions (#50)",
"author_name": "Łukasz Jan Niemier",
"author_login": "hauleth",
"committed_at": "2019-10-11T10:09:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "133d7cc7be8be7a57506ca9a7ffb3e90308bd5b9",
"body": "- Make clear that the first argument is a handler id that must be unique\r\n- Show matching on the ok atom return value so that duplicate ids do not\r\n cause a silent failure\r\n- Format the code examples across multiple lines so that horizontal\r\n scrolling isn't necessary\r\n- Add another link to the detailed documentation",
"is_bot": false,
"headline": "Make README examples more \"foolproof\" & format them better (#47)",
"author_name": "Nathan Long",
"author_login": "nathanl",
"committed_at": "2019-06-25T20:19:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "878dc9f48e4a41f050feefad4f41f3d3ac707e5b",
"body": null,
"is_bot": false,
"headline": "Remove deprecated maintainers field",
"author_name": "José Valim",
"author_login": null,
"committed_at": "2019-06-03T09:55:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fde29a114c074b3bb8960b1af747c4e08e16c22e",
"body": null,
"is_bot": false,
"headline": "Require OTP 19+ and improve error reporting (#46)",
"author_name": "José Valim",
"author_login": null,
"committed_at": "2019-05-30T14:53:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cd2bfbaec4cca488c3666c610177aa61cc7b82f5",
"body": null,
"is_bot": false,
"headline": "Upgrade circleci rebar3 orb to 0.6.3 (#45)",
"author_name": "Tristan Sloughter",
"author_login": "tsloughter",
"committed_at": "2019-05-28T14:53:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "90a0243002e3abf0a42087efa29b2a5d82f901f0",
"body": null,
"is_bot": false,
"headline": "Bump version number in docs overview page",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-04-18T09:38:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "66f09607e2a235b30d4e81902badc9ceefa714b6",
"body": null,
"is_bot": false,
"headline": "Update any reference to version number to 0.4.0",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-04-18T09:30:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "defa2d63e70a112f892f27bfe701ef6ad5b6bd6a",
"body": null,
"is_bot": false,
"headline": "Mention performance impact of using function captures (#43)",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-04-18T09:24:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f904c8ce113d8cdae003430dbd924de0c73d4525",
"body": null,
"is_bot": false,
"headline": "Clean up copyright information and license",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-04-10T12:07:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "44377279aca60d0710e4aab397b769904af92a3b",
"body": null,
"is_bot": false,
"headline": "Update change log and installation instructions",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-02-12T06:40:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "79267df35350ce1354c11fb8a7357d2438a5d6c1",
"body": "A single event value has been replaced by a map of measurements. Now it is up to the consumer of the event to decide what part of the payload is important. This is useful in cases where event indicates that a thing happened but there are many properties describing it.",
"is_bot": false,
"headline": "Event measurements (#41)",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-02-09T12:56:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ed63f5e7685bcf6eba44304d99e3959c32aaa48e",
"body": null,
"is_bot": false,
"headline": "Make empty list an invalid event name (#40)",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-01-14T15:53:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4161cbe4d26800a71c6053a1ab15fc42b1fa1413",
"body": null,
"is_bot": false,
"headline": "Add badges to the README (#38)",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-01-02T14:20:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c60d60e4033a93fbdc8b1341a24fd8d3d9cc41d",
"body": "Add a .codecov.yaml configuration file",
"is_bot": false,
"headline": "Merge pull request #39 from beam-telemetry/codecov-yaml",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-01-02T14:20:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac755e194ed5a13f50dcb787dd5e4966e9a10f08",
"body": null,
"is_bot": false,
"headline": "Add a .codecov.yaml configuration file",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-01-02T11:15:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1b60250f0eef4a8c212573f8429c3f3aaef19ab4",
"body": null,
"is_bot": false,
"headline": "Upload coverage reports to Codecov (#37)",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-01-02T10:45:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3bb2c300b5b556915a60a9c3c27c345c33be2092",
"body": null,
"is_bot": false,
"headline": "Clean up the CircleCI config",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-01-02T10:27:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fa816864ffff5c0adf8094832586779d41a26de7",
"body": null,
"is_bot": false,
"headline": "Install curl in the container",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-01-02T10:17:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ca28b341fd98fdc66d69186cca18bb05c81cfbde",
"body": null,
"is_bot": false,
"headline": "Run codecov script without an orb",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-01-02T10:14:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da78d153c10c7de64b28b666ba7928cccf2f4a1f",
"body": null,
"is_bot": false,
"headline": "Install bash if not available in the container",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-01-02T10:06:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21e63ed77840a1c12087d8de941e825e2f45f3da",
"body": null,
"is_bot": false,
"headline": "Group coverage reports by job name",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-01-02T09:24:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae8fc6c41370de000141fce480f438550d1231c4",
"body": null,
"is_bot": false,
"headline": "Upload coverage reports to Codecov",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-01-02T09:19:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "18f01bd7ee2d6236205813a635a240af4a900572",
"body": null,
"is_bot": false,
"headline": "Do not run CI builds on OTP 21.1 (#36)",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2019-01-02T09:18:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b25911a2619ca3b5cef33177a5d1f3a0bc676978",
"body": null,
"is_bot": false,
"headline": "Release v0.3.0",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2018-12-31T10:43:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5709faa9b259b041246ff676f58294df829869b6",
"body": "This reverts commit d38820b79d287a41e23f68095e029deb1d7681d9.\n\nDue to errors in .app.src, it was impossible to publish the new\nversion to hex.pm.",
"is_bot": false,
"headline": "Revert \"Prepare release 0.3.0 (#34)\"",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2018-12-31T09:53:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d38820b79d287a41e23f68095e029deb1d7681d9",
"body": "* Prepare release v0.3.0\r\n\r\n* Fill in maintainers\r\n\r\n* [skip ci] Update version in generated docs",
"is_bot": false,
"headline": "Prepare release 0.3.0 (#34)",
"author_name": "Arkadiusz Gil",
"author_login": "arkgil",
"committed_at": "2018-12-30T22:17:01Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 15,
"commits_last_year": 11,
"latest_release_at": "2026-05-11T08:18:24Z",
"latest_release_tag": "v1.4.2",
"releases_from_tags": true,
"days_since_last_push": 71,
"active_weeks_last_year": 4,
"days_since_latest_release": 71,
"mean_days_between_releases": 239
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 37,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "telemetry",
"exists": true,
"license": "Apache-2.0",
"keywords": [],
"ecosystem": "hex",
"matches_repo": true,
"registry_url": "https://hex.pm/packages/telemetry",
"is_deprecated": false,
"latest_version": "1.4.2",
"repository_url": "https://github.com/beam-telemetry/telemetry",
"versions_count": 15,
"total_downloads": 157665600,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": 1682230,
"first_published_at": "2018-08-13T08:01:03.172603Z",
"latest_published_at": "2026-05-11T08:17:59.173587Z",
"latest_version_yanked": null,
"days_since_latest_publish": 71
}
]
},
"popularity": {
"forks": 74,
"stars": 913,
"watchers": 38,
"fork_history": {
"days": [
{
"date": "2018-08-17",
"count": 1
},
{
"date": "2018-09-13",
"count": 1
},
{
"date": "2018-11-05",
"count": 1
},
{
"date": "2018-11-28",
"count": 1
},
{
"date": "2018-12-12",
"count": 1
},
{
"date": "2018-12-15",
"count": 1
},
{
"date": "2018-12-19",
"count": 1
},
{
"date": "2019-01-17",
"count": 1
},
{
"date": "2019-01-29",
"count": 1
},
{
"date": "2019-03-25",
"count": 1
},
{
"date": "2019-04-16",
"count": 1
},
{
"date": "2019-10-11",
"count": 1
},
{
"date": "2019-10-30",
"count": 2
},
{
"date": "2019-11-16",
"count": 1
},
{
"date": "2019-12-27",
"count": 1
},
{
"date": "2020-01-07",
"count": 1
},
{
"date": "2020-04-24",
"count": 1
},
{
"date": "2020-05-06",
"count": 1
},
{
"date": "2020-06-04",
"count": 1
},
{
"date": "2020-06-16",
"count": 1
},
{
"date": "2020-06-17",
"count": 1
},
{
"date": "2020-08-06",
"count": 1
},
{
"date": "2020-09-11",
"count": 1
},
{
"date": "2020-09-29",
"count": 1
},
{
"date": "2020-11-17",
"count": 1
},
{
"date": "2021-02-17",
"count": 1
},
{
"date": "2021-04-10",
"count": 1
},
{
"date": "2021-04-14",
"count": 1
},
{
"date": "2021-05-22",
"count": 1
},
{
"date": "2021-05-24",
"count": 1
},
{
"date": "2021-05-31",
"count": 1
},
{
"date": "2021-06-14",
"count": 1
},
{
"date": "2021-06-29",
"count": 1
},
{
"date": "2021-07-20",
"count": 1
},
{
"date": "2021-07-21",
"count": 1
},
{
"date": "2021-07-23",
"count": 1
},
{
"date": "2021-08-06",
"count": 1
},
{
"date": "2021-08-22",
"count": 1
},
{
"date": "2021-09-10",
"count": 1
},
{
"date": "2021-09-22",
"count": 1
},
{
"date": "2021-10-01",
"count": 1
},
{
"date": "2021-11-29",
"count": 1
},
{
"date": "2021-12-21",
"count": 1
},
{
"date": "2022-04-01",
"count": 1
},
{
"date": "2022-04-03",
"count": 1
},
{
"date": "2022-05-11",
"count": 1
},
{
"date": "2022-06-13",
"count": 1
},
{
"date": "2022-07-27",
"count": 1
},
{
"date": "2022-10-26",
"count": 1
},
{
"date": "2023-01-03",
"count": 1
},
{
"date": "2023-01-04",
"count": 1
},
{
"date": "2023-02-10",
"count": 1
},
{
"date": "2023-02-13",
"count": 1
},
{
"date": "2023-03-30",
"count": 1
},
{
"date": "2023-04-15",
"count": 1
},
{
"date": "2023-05-19",
"count": 1
},
{
"date": "2023-06-30",
"count": 1
},
{
"date": "2023-07-25",
"count": 1
},
{
"date": "2023-12-13",
"count": 1
},
{
"date": "2024-01-10",
"count": 1
},
{
"date": "2024-08-28",
"count": 1
},
{
"date": "2025-05-12",
"count": 1
},
{
"date": "2025-06-08",
"count": 1
},
{
"date": "2025-07-14",
"count": 1
},
{
"date": "2025-07-23",
"count": 1
},
{
"date": "2025-08-23",
"count": 1
},
{
"date": "2025-11-02",
"count": 1
},
{
"date": "2026-02-09",
"count": 1
},
{
"date": "2026-02-20",
"count": 1
},
{
"date": "2026-03-09",
"count": 1
}
],
"complete": true,
"collected": 71,
"total_forks": 74
},
"star_history": {
"days": [
{
"date": "2018-08-06",
"count": 7
},
{
"date": "2018-08-07",
"count": 5
},
{
"date": "2018-08-08",
"count": 1
},
{
"date": "2018-08-09",
"count": 2
},
{
"date": "2018-08-10",
"count": 3
},
{
"date": "2018-08-14",
"count": 1
},
{
"date": "2018-08-15",
"count": 2
},
{
"date": "2018-08-17",
"count": 2
},
{
"date": "2018-09-05",
"count": 1
},
{
"date": "2018-09-08",
"count": 13
},
{
"date": "2018-09-09",
"count": 5
},
{
"date": "2018-09-10",
"count": 7
},
{
"date": "2018-09-11",
"count": 5
},
{
"date": "2018-09-12",
"count": 6
},
{
"date": "2018-09-13",
"count": 6
},
{
"date": "2018-09-14",
"count": 1
},
{
"date": "2018-09-15",
"count": 1
},
{
"date": "2018-09-16",
"count": 1
},
{
"date": "2018-09-20",
"count": 2
},
{
"date": "2018-09-23",
"count": 1
},
{
"date": "2018-09-24",
"count": 1
},
{
"date": "2018-09-25",
"count": 2
},
{
"date": "2018-09-26",
"count": 2
},
{
"date": "2018-09-27",
"count": 1
},
{
"date": "2018-09-30",
"count": 3
},
{
"date": "2018-10-01",
"count": 1
},
{
"date": "2018-10-07",
"count": 2
},
{
"date": "2018-10-08",
"count": 1
},
{
"date": "2018-10-09",
"count": 6
},
{
"date": "2018-10-10",
"count": 11
},
{
"date": "2018-10-11",
"count": 5
},
{
"date": "2018-10-12",
"count": 5
},
{
"date": "2018-10-13",
"count": 3
},
{
"date": "2018-10-15",
"count": 1
},
{
"date": "2018-10-16",
"count": 4
},
{
"date": "2018-10-17",
"count": 2
},
{
"date": "2018-10-21",
"count": 1
},
{
"date": "2018-10-27",
"count": 2
},
{
"date": "2018-10-28",
"count": 1
},
{
"date": "2018-10-29",
"count": 1
},
{
"date": "2018-10-30",
"count": 1
},
{
"date": "2018-10-31",
"count": 1
},
{
"date": "2018-11-01",
"count": 1
},
{
"date": "2018-11-05",
"count": 1
},
{
"date": "2018-11-07",
"count": 2
},
{
"date": "2018-11-08",
"count": 19
},
{
"date": "2018-11-09",
"count": 3
},
{
"date": "2018-11-10",
"count": 2
},
{
"date": "2018-11-11",
"count": 1
},
{
"date": "2018-11-12",
"count": 1
},
{
"date": "2018-11-13",
"count": 1
},
{
"date": "2018-11-14",
"count": 3
},
{
"date": "2018-11-15",
"count": 1
},
{
"date": "2018-11-16",
"count": 1
},
{
"date": "2018-11-17",
"count": 1
},
{
"date": "2018-11-21",
"count": 2
},
{
"date": "2018-11-22",
"count": 2
},
{
"date": "2018-11-25",
"count": 2
},
{
"date": "2018-11-26",
"count": 1
},
{
"date": "2018-11-28",
"count": 2
},
{
"date": "2018-11-29",
"count": 1
},
{
"date": "2018-11-30",
"count": 1
},
{
"date": "2018-12-01",
"count": 1
},
{
"date": "2018-12-03",
"count": 1
},
{
"date": "2018-12-07",
"count": 1
},
{
"date": "2018-12-12",
"count": 2
},
{
"date": "2018-12-13",
"count": 1
},
{
"date": "2018-12-15",
"count": 1
},
{
"date": "2018-12-16",
"count": 2
},
{
"date": "2018-12-17",
"count": 1
},
{
"date": "2018-12-18",
"count": 1
},
{
"date": "2018-12-20",
"count": 3
},
{
"date": "2018-12-21",
"count": 1
},
{
"date": "2018-12-22",
"count": 1
},
{
"date": "2018-12-25",
"count": 1
},
{
"date": "2018-12-28",
"count": 2
},
{
"date": "2018-12-30",
"count": 1
},
{
"date": "2018-12-31",
"count": 6
},
{
"date": "2019-01-01",
"count": 5
},
{
"date": "2019-01-02",
"count": 1
},
{
"date": "2019-01-03",
"count": 2
},
{
"date": "2019-01-04",
"count": 2
},
{
"date": "2019-01-05",
"count": 1
},
{
"date": "2019-01-06",
"count": 1
},
{
"date": "2019-01-07",
"count": 5
},
{
"date": "2019-01-09",
"count": 2
},
{
"date": "2019-01-11",
"count": 2
},
{
"date": "2019-01-14",
"count": 2
},
{
"date": "2019-01-15",
"count": 1
},
{
"date": "2019-01-17",
"count": 5
},
{
"date": "2019-01-20",
"count": 1
},
{
"date": "2019-01-22",
"count": 1
},
{
"date": "2019-01-23",
"count": 4
},
{
"date": "2019-01-24",
"count": 4
},
{
"date": "2019-01-25",
"count": 2
},
{
"date": "2019-01-26",
"count": 1
},
{
"date": "2019-01-29",
"count": 1
},
{
"date": "2019-02-09",
"count": 1
},
{
"date": "2019-02-16",
"count": 1
},
{
"date": "2019-02-19",
"count": 1
},
{
"date": "2019-02-20",
"count": 1
},
{
"date": "2019-02-24",
"count": 1
},
{
"date": "2019-02-28",
"count": 1
},
{
"date": "2019-03-01",
"count": 1
},
{
"date": "2019-03-03",
"count": 1
},
{
"date": "2019-03-04",
"count": 2
},
{
"date": "2019-03-05",
"count": 1
},
{
"date": "2019-03-07",
"count": 1
},
{
"date": "2019-03-10",
"count": 1
},
{
"date": "2019-03-11",
"count": 5
},
{
"date": "2019-03-14",
"count": 1
},
{
"date": "2019-03-18",
"count": 1
},
{
"date": "2019-03-19",
"count": 2
},
{
"date": "2019-03-20",
"count": 1
},
{
"date": "2019-03-21",
"count": 1
},
{
"date": "2019-03-22",
"count": 1
},
{
"date": "2019-03-29",
"count": 2
},
{
"date": "2019-04-01",
"count": 1
},
{
"date": "2019-04-02",
"count": 1
},
{
"date": "2019-04-03",
"count": 1
},
{
"date": "2019-04-04",
"count": 1
},
{
"date": "2019-04-05",
"count": 1
},
{
"date": "2019-04-09",
"count": 4
},
{
"date": "2019-04-17",
"count": 1
},
{
"date": "2019-04-22",
"count": 1
},
{
"date": "2019-04-23",
"count": 1
},
{
"date": "2019-04-24",
"count": 1
},
{
"date": "2019-04-25",
"count": 1
},
{
"date": "2019-04-26",
"count": 1
},
{
"date": "2019-04-27",
"count": 2
},
{
"date": "2019-04-28",
"count": 3
},
{
"date": "2019-04-29",
"count": 1
},
{
"date": "2019-04-30",
"count": 10
},
{
"date": "2019-05-01",
"count": 5
},
{
"date": "2019-05-02",
"count": 4
},
{
"date": "2019-05-03",
"count": 2
},
{
"date": "2019-05-05",
"count": 1
},
{
"date": "2019-05-06",
"count": 2
},
{
"date": "2019-05-08",
"count": 6
},
{
"date": "2019-05-09",
"count": 2
},
{
"date": "2019-05-10",
"count": 2
},
{
"date": "2019-05-11",
"count": 2
},
{
"date": "2019-05-13",
"count": 1
},
{
"date": "2019-05-14",
"count": 1
},
{
"date": "2019-05-16",
"count": 1
},
{
"date": "2019-05-20",
"count": 2
},
{
"date": "2019-05-21",
"count": 1
},
{
"date": "2019-05-22",
"count": 1
},
{
"date": "2019-05-26",
"count": 1
},
{
"date": "2019-05-28",
"count": 1
},
{
"date": "2019-05-29",
"count": 2
},
{
"date": "2019-05-30",
"count": 2
},
{
"date": "2019-05-31",
"count": 1
},
{
"date": "2019-06-02",
"count": 2
},
{
"date": "2019-06-03",
"count": 1
},
{
"date": "2019-06-04",
"count": 3
},
{
"date": "2019-06-06",
"count": 1
},
{
"date": "2019-06-07",
"count": 1
},
{
"date": "2019-06-08",
"count": 1
},
{
"date": "2019-06-16",
"count": 2
},
{
"date": "2019-06-19",
"count": 1
},
{
"date": "2019-06-23",
"count": 1
},
{
"date": "2019-06-24",
"count": 5
},
{
"date": "2019-06-25",
"count": 2
},
{
"date": "2019-07-01",
"count": 1
},
{
"date": "2019-07-02",
"count": 1
},
{
"date": "2019-07-03",
"count": 3
},
{
"date": "2019-07-04",
"count": 3
},
{
"date": "2019-07-05",
"count": 2
},
{
"date": "2019-07-07",
"count": 2
},
{
"date": "2019-07-09",
"count": 1
},
{
"date": "2019-07-11",
"count": 1
},
{
"date": "2019-07-12",
"count": 1
},
{
"date": "2019-07-13",
"count": 1
},
{
"date": "2019-07-15",
"count": 2
},
{
"date": "2019-07-16",
"count": 1
},
{
"date": "2019-07-17",
"count": 2
},
{
"date": "2019-07-28",
"count": 3
},
{
"date": "2019-07-29",
"count": 2
},
{
"date": "2019-08-01",
"count": 1
},
{
"date": "2019-08-03",
"count": 1
},
{
"date": "2019-08-04",
"count": 1
},
{
"date": "2019-08-06",
"count": 1
},
{
"date": "2019-08-07",
"count": 1
},
{
"date": "2019-08-15",
"count": 1
},
{
"date": "2019-08-20",
"count": 1
},
{
"date": "2019-08-21",
"count": 1
},
{
"date": "2019-08-27",
"count": 2
},
{
"date": "2019-08-30",
"count": 1
},
{
"date": "2019-08-31",
"count": 1
},
{
"date": "2019-09-01",
"count": 1
},
{
"date": "2019-09-04",
"count": 4
},
{
"date": "2019-09-05",
"count": 4
},
{
"date": "2019-09-06",
"count": 1
},
{
"date": "2019-09-09",
"count": 3
},
{
"date": "2019-09-10",
"count": 1
},
{
"date": "2019-09-11",
"count": 1
},
{
"date": "2019-09-14",
"count": 1
},
{
"date": "2019-09-17",
"count": 1
},
{
"date": "2019-09-18",
"count": 2
},
{
"date": "2019-09-19",
"count": 2
},
{
"date": "2019-09-20",
"count": 1
},
{
"date": "2019-09-23",
"count": 1
},
{
"date": "2019-09-24",
"count": 2
},
{
"date": "2019-09-27",
"count": 1
},
{
"date": "2019-09-28",
"count": 1
},
{
"date": "2019-10-01",
"count": 1
},
{
"date": "2019-10-03",
"count": 1
},
{
"date": "2019-10-08",
"count": 1
},
{
"date": "2019-10-10",
"count": 2
},
{
"date": "2019-10-13",
"count": 1
},
{
"date": "2019-10-14",
"count": 2
},
{
"date": "2019-10-16",
"count": 4
},
{
"date": "2019-10-17",
"count": 1
},
{
"date": "2019-10-23",
"count": 1
},
{
"date": "2019-10-25",
"count": 1
},
{
"date": "2019-10-26",
"count": 2
},
{
"date": "2019-10-27",
"count": 1
},
{
"date": "2019-10-28",
"count": 1
},
{
"date": "2019-10-29",
"count": 2
},
{
"date": "2019-10-31",
"count": 1
},
{
"date": "2019-11-06",
"count": 1
},
{
"date": "2019-11-07",
"count": 1
},
{
"date": "2019-11-10",
"count": 1
},
{
"date": "2019-11-11",
"count": 1
},
{
"date": "2019-11-13",
"count": 1
},
{
"date": "2019-11-14",
"count": 1
},
{
"date": "2019-11-18",
"count": 1
},
{
"date": "2019-11-19",
"count": 1
},
{
"date": "2019-11-20",
"count": 3
},
{
"date": "2019-11-21",
"count": 1
},
{
"date": "2019-11-23",
"count": 1
},
{
"date": "2019-11-30",
"count": 1
},
{
"date": "2019-12-01",
"count": 1
},
{
"date": "2019-12-03",
"count": 1
},
{
"date": "2019-12-04",
"count": 2
},
{
"date": "2019-12-05",
"count": 1
},
{
"date": "2019-12-09",
"count": 2
},
{
"date": "2019-12-12",
"count": 1
},
{
"date": "2019-12-13",
"count": 2
},
{
"date": "2019-12-14",
"count": 1
},
{
"date": "2019-12-16",
"count": 2
},
{
"date": "2019-12-17",
"count": 1
},
{
"date": "2019-12-18",
"count": 1
},
{
"date": "2019-12-19",
"count": 2
},
{
"date": "2019-12-25",
"count": 1
},
{
"date": "2019-12-27",
"count": 1
},
{
"date": "2019-12-29",
"count": 1
},
{
"date": "2019-12-30",
"count": 1
},
{
"date": "2020-01-05",
"count": 2
},
{
"date": "2020-01-08",
"count": 1
},
{
"date": "2020-01-17",
"count": 1
},
{
"date": "2020-01-26",
"count": 1
},
{
"date": "2020-01-27",
"count": 1
},
{
"date": "2020-01-30",
"count": 3
},
{
"date": "2020-02-01",
"count": 1
},
{
"date": "2020-02-04",
"count": 1
},
{
"date": "2020-02-05",
"count": 2
},
{
"date": "2020-02-08",
"count": 1
},
{
"date": "2020-02-11",
"count": 2
},
{
"date": "2020-02-13",
"count": 1
},
{
"date": "2020-02-17",
"count": 2
},
{
"date": "2020-02-23",
"count": 2
},
{
"date": "2020-03-03",
"count": 1
},
{
"date": "2020-03-04",
"count": 1
},
{
"date": "2020-03-05",
"count": 1
},
{
"date": "2020-03-11",
"count": 2
},
{
"date": "2020-03-16",
"count": 1
},
{
"date": "2020-03-21",
"count": 2
},
{
"date": "2020-03-28",
"count": 1
},
{
"date": "2020-04-03",
"count": 1
},
{
"date": "2020-04-05",
"count": 1
},
{
"date": "2020-04-06",
"count": 1
},
{
"date": "2020-04-08",
"count": 1
},
{
"date": "2020-04-14",
"count": 1
},
{
"date": "2020-04-15",
"count": 2
},
{
"date": "2020-04-17",
"count": 1
},
{
"date": "2020-04-30",
"count": 1
},
{
"date": "2020-05-01",
"count": 1
},
{
"date": "2020-05-02",
"count": 1
},
{
"date": "2020-05-04",
"count": 1
},
{
"date": "2020-05-05",
"count": 1
},
{
"date": "2020-05-06",
"count": 1
},
{
"date": "2020-05-09",
"count": 1
},
{
"date": "2020-05-13",
"count": 1
},
{
"date": "2020-05-15",
"count": 1
},
{
"date": "2020-05-26",
"count": 1
},
{
"date": "2020-05-27",
"count": 1
},
{
"date": "2020-05-30",
"count": 1
},
{
"date": "2020-06-02",
"count": 1
},
{
"date": "2020-06-03",
"count": 1
},
{
"date": "2020-06-14",
"count": 1
},
{
"date": "2020-06-19",
"count": 1
},
{
"date": "2020-06-22",
"count": 1
},
{
"date": "2020-06-23",
"count": 1
},
{
"date": "2020-06-24",
"count": 1
},
{
"date": "2020-07-03",
"count": 1
},
{
"date": "2020-07-05",
"count": 1
},
{
"date": "2020-07-08",
"count": 2
},
{
"date": "2020-07-10",
"count": 1
},
{
"date": "2020-07-17",
"count": 1
},
{
"date": "2020-07-20",
"count": 1
},
{
"date": "2020-07-23",
"count": 1
},
{
"date": "2020-07-30",
"count": 2
},
{
"date": "2020-08-04",
"count": 1
},
{
"date": "2020-08-05",
"count": 3
},
{
"date": "2020-08-06",
"count": 2
},
{
"date": "2020-08-08",
"count": 1
},
{
"date": "2020-08-17",
"count": 1
},
{
"date": "2020-08-27",
"count": 1
},
{
"date": "2020-09-10",
"count": 1
},
{
"date": "2020-09-11",
"count": 1
},
{
"date": "2020-09-21",
"count": 1
},
{
"date": "2020-09-22",
"count": 1
},
{
"date": "2020-09-29",
"count": 1
},
{
"date": "2020-10-01",
"count": 1
},
{
"date": "2020-10-07",
"count": 1
},
{
"date": "2020-10-11",
"count": 2
},
{
"date": "2020-10-13",
"count": 1
},
{
"date": "2020-10-14",
"count": 1
},
{
"date": "2020-10-19",
"count": 3
},
{
"date": "2020-10-21",
"count": 1
},
{
"date": "2020-10-22",
"count": 1
},
{
"date": "2020-10-23",
"count": 1
},
{
"date": "2020-10-26",
"count": 1
},
{
"date": "2020-10-27",
"count": 1
},
{
"date": "2020-10-28",
"count": 3
},
{
"date": "2020-10-29",
"count": 1
},
{
"date": "2020-11-02",
"count": 1
},
{
"date": "2020-11-03",
"count": 1
},
{
"date": "2020-11-13",
"count": 2
},
{
"date": "2020-11-15",
"count": 1
},
{
"date": "2020-11-20",
"count": 1
},
{
"date": "2020-11-23",
"count": 1
},
{
"date": "2020-11-28",
"count": 1
},
{
"date": "2020-11-29",
"count": 2
},
{
"date": "2020-12-01",
"count": 1
},
{
"date": "2020-12-03",
"count": 1
},
{
"date": "2020-12-05",
"count": 1
},
{
"date": "2020-12-23",
"count": 1
},
{
"date": "2020-12-30",
"count": 1
},
{
"date": "2021-01-03",
"count": 2
},
{
"date": "2021-01-13",
"count": 1
},
{
"date": "2021-01-16",
"count": 1
},
{
"date": "2021-01-17",
"count": 1
},
{
"date": "2021-01-19",
"count": 1
},
{
"date": "2021-01-25",
"count": 1
},
{
"date": "2021-02-02",
"count": 1
},
{
"date": "2021-02-10",
"count": 1
},
{
"date": "2021-02-11",
"count": 1
},
{
"date": "2021-02-15",
"count": 1
},
{
"date": "2021-02-17",
"count": 1
},
{
"date": "2021-02-19",
"count": 1
},
{
"date": "2021-02-22",
"count": 1
},
{
"date": "2021-02-25",
"count": 1
},
{
"date": "2021-02-28",
"count": 1
},
{
"date": "2021-03-06",
"count": 1
},
{
"date": "2021-03-07",
"count": 1
},
{
"date": "2021-03-08",
"count": 1
},
{
"date": "2021-03-11",
"count": 1
},
{
"date": "2021-03-16",
"count": 2
},
{
"date": "2021-03-17",
"count": 1
},
{
"date": "2021-03-22",
"count": 1
},
{
"date": "2021-03-26",
"count": 1
},
{
"date": "2021-04-01",
"count": 1
},
{
"date": "2021-04-05",
"count": 1
},
{
"date": "2021-04-07",
"count": 1
},
{
"date": "2021-04-11",
"count": 1
},
{
"date": "2021-04-14",
"count": 2
},
{
"date": "2021-04-17",
"count": 1
},
{
"date": "2021-04-22",
"count": 2
},
{
"date": "2021-04-29",
"count": 1
},
{
"date": "2021-05-02",
"count": 1
},
{
"date": "2021-05-03",
"count": 1
},
{
"date": "2021-05-11",
"count": 1
},
{
"date": "2021-05-18",
"count": 1
},
{
"date": "2021-05-19",
"count": 2
},
{
"date": "2021-05-21",
"count": 1
},
{
"date": "2021-06-01",
"count": 1
},
{
"date": "2021-06-02",
"count": 2
},
{
"date": "2021-06-03",
"count": 2
},
{
"date": "2021-06-04",
"count": 1
},
{
"date": "2021-06-05",
"count": 1
},
{
"date": "2021-06-07",
"count": 1
},
{
"date": "2021-06-08",
"count": 1
},
{
"date": "2021-06-15",
"count": 1
},
{
"date": "2021-06-16",
"count": 2
},
{
"date": "2021-06-17",
"count": 1
},
{
"date": "2021-06-24",
"count": 1
},
{
"date": "2021-06-30",
"count": 2
},
{
"date": "2021-07-02",
"count": 1
},
{
"date": "2021-07-03",
"count": 1
},
{
"date": "2021-07-06",
"count": 1
},
{
"date": "2021-07-11",
"count": 1
},
{
"date": "2021-07-12",
"count": 1
},
{
"date": "2021-07-13",
"count": 1
},
{
"date": "2021-07-14",
"count": 1
},
{
"date": "2021-07-21",
"count": 1
},
{
"date": "2021-07-24",
"count": 1
},
{
"date": "2021-07-26",
"count": 2
},
{
"date": "2021-07-27",
"count": 1
},
{
"date": "2021-07-28",
"count": 2
},
{
"date": "2021-07-29",
"count": 1
},
{
"date": "2021-07-30",
"count": 1
},
{
"date": "2021-07-31",
"count": 1
},
{
"date": "2021-08-06",
"count": 1
},
{
"date": "2021-08-10",
"count": 1
},
{
"date": "2021-08-12",
"count": 2
},
{
"date": "2021-08-18",
"count": 2
},
{
"date": "2021-08-21",
"count": 1
},
{
"date": "2021-08-29",
"count": 1
},
{
"date": "2021-09-12",
"count": 1
},
{
"date": "2021-09-17",
"count": 1
},
{
"date": "2021-09-19",
"count": 1
},
{
"date": "2021-10-01",
"count": 1
},
{
"date": "2021-10-11",
"count": 1
},
{
"date": "2021-10-12",
"count": 1
},
{
"date": "2021-10-14",
"count": 1
},
{
"date": "2021-10-19",
"count": 2
},
{
"date": "2021-10-20",
"count": 5
},
{
"date": "2021-10-21",
"count": 1
},
{
"date": "2021-10-26",
"count": 1
},
{
"date": "2021-10-28",
"count": 1
},
{
"date": "2021-11-01",
"count": 1
},
{
"date": "2021-11-10",
"count": 1
},
{
"date": "2021-11-15",
"count": 1
},
{
"date": "2021-11-19",
"count": 1
},
{
"date": "2021-11-20",
"count": 1
},
{
"date": "2021-11-27",
"count": 1
},
{
"date": "2021-12-05",
"count": 1
},
{
"date": "2021-12-13",
"count": 1
},
{
"date": "2021-12-16",
"count": 1
},
{
"date": "2021-12-21",
"count": 1
},
{
"date": "2021-12-22",
"count": 1
},
{
"date": "2021-12-28",
"count": 1
},
{
"date": "2022-01-20",
"count": 1
},
{
"date": "2022-02-01",
"count": 2
},
{
"date": "2022-02-02",
"count": 2
},
{
"date": "2022-02-05",
"count": 1
},
{
"date": "2022-02-06",
"count": 1
},
{
"date": "2022-02-12",
"count": 1
},
{
"date": "2022-02-13",
"count": 2
},
{
"date": "2022-02-15",
"count": 1
},
{
"date": "2022-02-21",
"count": 1
},
{
"date": "2022-02-24",
"count": 2
},
{
"date": "2022-03-03",
"count": 1
},
{
"date": "2022-03-06",
"count": 1
},
{
"date": "2022-03-31",
"count": 1
},
{
"date": "2022-04-03",
"count": 1
},
{
"date": "2022-04-11",
"count": 1
},
{
"date": "2022-04-21",
"count": 2
},
{
"date": "2022-04-25",
"count": 1
},
{
"date": "2022-05-12",
"count": 1
},
{
"date": "2022-05-19",
"count": 1
},
{
"date": "2022-06-01",
"count": 1
},
{
"date": "2022-06-03",
"count": 1
},
{
"date": "2022-06-11",
"count": 1
},
{
"date": "2022-06-15",
"count": 1
},
{
"date": "2022-06-19",
"count": 1
},
{
"date": "2022-06-24",
"count": 1
},
{
"date": "2022-06-27",
"count": 1
},
{
"date": "2022-07-09",
"count": 1
},
{
"date": "2022-07-15",
"count": 1
},
{
"date": "2022-08-03",
"count": 1
},
{
"date": "2022-08-15",
"count": 1
},
{
"date": "2022-08-22",
"count": 1
},
{
"date": "2022-09-20",
"count": 1
},
{
"date": "2022-09-21",
"count": 2
},
{
"date": "2022-09-26",
"count": 1
},
{
"date": "2022-09-27",
"count": 1
},
{
"date": "2022-10-18",
"count": 1
},
{
"date": "2022-10-26",
"count": 1
},
{
"date": "2022-10-27",
"count": 1
},
{
"date": "2022-10-30",
"count": 1
},
{
"date": "2022-10-31",
"count": 1
},
{
"date": "2022-11-04",
"count": 1
},
{
"date": "2022-11-10",
"count": 1
},
{
"date": "2022-11-12",
"count": 1
},
{
"date": "2022-11-22",
"count": 1
},
{
"date": "2022-12-04",
"count": 1
},
{
"date": "2022-12-07",
"count": 1
},
{
"date": "2022-12-22",
"count": 1
},
{
"date": "2023-01-03",
"count": 1
},
{
"date": "2023-01-06",
"count": 1
},
{
"date": "2023-01-08",
"count": 1
},
{
"date": "2023-01-09",
"count": 1
},
{
"date": "2023-01-10",
"count": 1
},
{
"date": "2023-01-12",
"count": 2
},
{
"date": "2023-01-13",
"count": 1
},
{
"date": "2023-01-19",
"count": 1
},
{
"date": "2023-01-23",
"count": 1
},
{
"date": "2023-01-26",
"count": 1
},
{
"date": "2023-02-01",
"count": 1
},
{
"date": "2023-02-05",
"count": 1
},
{
"date": "2023-02-08",
"count": 1
},
{
"date": "2023-02-10",
"count": 1
},
{
"date": "2023-02-12",
"count": 1
},
{
"date": "2023-02-13",
"count": 1
},
{
"date": "2023-02-14",
"count": 2
},
{
"date": "2023-02-23",
"count": 1
},
{
"date": "2023-03-03",
"count": 1
},
{
"date": "2023-03-11",
"count": 1
},
{
"date": "2023-03-14",
"count": 1
},
{
"date": "2023-03-20",
"count": 1
},
{
"date": "2023-03-30",
"count": 2
},
{
"date": "2023-03-31",
"count": 1
},
{
"date": "2023-04-04",
"count": 1
},
{
"date": "2023-04-07",
"count": 1
},
{
"date": "2023-04-13",
"count": 1
},
{
"date": "2023-05-05",
"count": 1
},
{
"date": "2023-05-26",
"count": 1
},
{
"date": "2023-06-17",
"count": 1
},
{
"date": "2023-06-27",
"count": 1
},
{
"date": "2023-06-28",
"count": 1
},
{
"date": "2023-07-16",
"count": 1
},
{
"date": "2023-07-24",
"count": 1
},
{
"date": "2023-07-25",
"count": 1
},
{
"date": "2023-07-27",
"count": 1
},
{
"date": "2023-07-29",
"count": 1
},
{
"date": "2023-08-03",
"count": 1
},
{
"date": "2023-08-07",
"count": 1
},
{
"date": "2023-08-12",
"count": 1
},
{
"date": "2023-08-13",
"count": 1
},
{
"date": "2023-08-20",
"count": 1
},
{
"date": "2023-08-25",
"count": 1
},
{
"date": "2023-08-27",
"count": 1
},
{
"date": "2023-09-15",
"count": 1
},
{
"date": "2023-09-29",
"count": 1
},
{
"date": "2023-10-16",
"count": 1
},
{
"date": "2023-10-29",
"count": 2
},
{
"date": "2023-11-01",
"count": 1
},
{
"date": "2023-11-08",
"count": 1
},
{
"date": "2023-11-23",
"count": 1
},
{
"date": "2023-12-22",
"count": 1
},
{
"date": "2024-01-03",
"count": 1
},
{
"date": "2024-01-14",
"count": 1
},
{
"date": "2024-01-20",
"count": 1
},
{
"date": "2024-02-01",
"count": 1
},
{
"date": "2024-02-05",
"count": 1
},
{
"date": "2024-02-12",
"count": 1
},
{
"date": "2024-02-17",
"count": 1
},
{
"date": "2024-03-11",
"count": 1
},
{
"date": "2024-04-01",
"count": 2
},
{
"date": "2024-04-10",
"count": 1
},
{
"date": "2024-04-16",
"count": 1
},
{
"date": "2024-04-29",
"count": 1
},
{
"date": "2024-05-15",
"count": 1
},
{
"date": "2024-05-24",
"count": 1
},
{
"date": "2024-05-28",
"count": 1
},
{
"date": "2024-06-21",
"count": 1
},
{
"date": "2024-06-26",
"count": 1
},
{
"date": "2024-06-28",
"count": 1
},
{
"date": "2024-07-02",
"count": 1
},
{
"date": "2024-07-06",
"count": 1
},
{
"date": "2024-07-09",
"count": 1
},
{
"date": "2024-07-11",
"count": 1
},
{
"date": "2024-07-12",
"count": 1
},
{
"date": "2024-07-15",
"count": 1
},
{
"date": "2024-08-05",
"count": 1
},
{
"date": "2024-08-08",
"count": 1
},
{
"date": "2024-08-17",
"count": 1
},
{
"date": "2024-08-23",
"count": 3
},
{
"date": "2024-08-28",
"count": 3
},
{
"date": "2024-09-21",
"count": 2
},
{
"date": "2024-09-26",
"count": 1
},
{
"date": "2024-10-02",
"count": 1
},
{
"date": "2024-10-05",
"count": 1
},
{
"date": "2024-10-14",
"count": 2
},
{
"date": "2024-10-21",
"count": 1
},
{
"date": "2024-11-20",
"count": 1
},
{
"date": "2024-11-27",
"count": 1
},
{
"date": "2024-12-12",
"count": 1
},
{
"date": "2024-12-15",
"count": 1
},
{
"date": "2024-12-26",
"count": 1
},
{
"date": "2024-12-31",
"count": 1
},
{
"date": "2025-01-04",
"count": 1
},
{
"date": "2025-01-05",
"count": 1
},
{
"date": "2025-01-16",
"count": 1
},
{
"date": "2025-01-17",
"count": 1
},
{
"date": "2025-01-18",
"count": 1
},
{
"date": "2025-01-19",
"count": 1
},
{
"date": "2025-02-19",
"count": 1
},
{
"date": "2025-04-09",
"count": 1
},
{
"date": "2025-04-28",
"count": 1
},
{
"date": "2025-05-16",
"count": 1
},
{
"date": "2025-05-21",
"count": 1
},
{
"date": "2025-05-22",
"count": 1
},
{
"date": "2025-05-29",
"count": 1
},
{
"date": "2025-06-05",
"count": 1
},
{
"date": "2025-06-26",
"count": 1
},
{
"date": "2025-07-24",
"count": 1
},
{
"date": "2025-07-28",
"count": 1
},
{
"date": "2025-08-07",
"count": 1
},
{
"date": "2025-08-10",
"count": 1
},
{
"date": "2025-08-19",
"count": 1
},
{
"date": "2025-08-21",
"count": 1
},
{
"date": "2025-08-25",
"count": 1
},
{
"date": "2025-10-19",
"count": 1
},
{
"date": "2025-10-22",
"count": 1
},
{
"date": "2025-11-04",
"count": 1
},
{
"date": "2025-11-19",
"count": 1
},
{
"date": "2025-11-27",
"count": 1
},
{
"date": "2025-12-06",
"count": 1
},
{
"date": "2025-12-13",
"count": 1
},
{
"date": "2025-12-15",
"count": 1
},
{
"date": "2026-02-10",
"count": 1
},
{
"date": "2026-02-19",
"count": 1
},
{
"date": "2026-03-05",
"count": 1
},
{
"date": "2026-03-06",
"count": 1
},
{
"date": "2026-03-16",
"count": 1
},
{
"date": "2026-03-29",
"count": 1
},
{
"date": "2026-03-30",
"count": 1
},
{
"date": "2026-04-01",
"count": 1
},
{
"date": "2026-04-04",
"count": 1
},
{
"date": "2026-04-09",
"count": 1
},
{
"date": "2026-04-28",
"count": 1
},
{
"date": "2026-06-05",
"count": 1
},
{
"date": "2026-06-24",
"count": 1
}
],
"complete": true,
"collected": 912,
"total_stars": 913
},
"open_issues_and_prs": 9
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"mix.exs"
],
"largest_source_bytes": 501,
"source_files_sampled": 1,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"mix.exs"
],
"advisories": {
"error": "No resolved dependencies to assess",
"scope": "repository_graph",
"source": null,
"findings": [],
"collected": false,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 0,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"hex"
],
"dependencies": [
{
"name": "ok",
"manifest": "mix.exs",
"ecosystem": "hex",
"version_constraint": null
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [],
"collected": true,
"truncated": false,
"total_count": 0,
"direct_count": 0,
"indirect_count": 0
}
},
"maintainership": {
"issues": {
"open_prs": 3,
"merged_prs": 92,
"open_issues": 6,
"closed_ratio": 0.875,
"closed_issues": 42,
"closed_unmerged_prs": 7
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "arkgil",
"commits": 91,
"avatar_url": "https://avatars.githubusercontent.com/u/11610769?v=4"
},
{
"type": "User",
"login": "josevalim",
"commits": 11,
"avatar_url": "https://avatars.githubusercontent.com/u/9582?v=4"
},
{
"type": "User",
"login": "wojtekmach",
"commits": 8,
"avatar_url": "https://avatars.githubusercontent.com/u/76071?v=4"
},
{
"type": "User",
"login": "whatyouhide",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/3890250?v=4"
},
{
"type": "User",
"login": "hauleth",
"commits": 5,
"avatar_url": "https://avatars.githubusercontent.com/u/291639?v=4"
},
{
"type": "User",
"login": "bryannaegele",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/5731285?v=4"
},
{
"type": "User",
"login": "studzien",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/1367110?v=4"
},
{
"type": "User",
"login": "kianmeng",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/134518?v=4"
},
{
"type": "User",
"login": "tsloughter",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/36227?v=4"
},
{
"type": "User",
"login": "NelsonVides",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/27267603?v=4"
}
],
"contributors_sampled": 33,
"top_contributor_share": 0.572
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"test.yml"
],
"has_docs_dir": false,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 2,
"reason": "7 out of 25 merged PRs checked by a CI test -- score normalized to 2",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 8,
"reason": "Found 25/30 approved changesets -- score normalized to 8",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 13 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 0,
"reason": "1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "7baf8085e406d5ae9e43b284d7c866742ae04b28",
"ran_at": "2026-07-22T03:30:31Z",
"aggregate_score": 4.3,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-05-11T08:19:27Z",
"oldest_open_prs": [
{
"number": 60,
"created_at": "2020-05-21T15:35:03Z",
"last_comment_at": "2020-06-18T08:59:24Z",
"last_comment_author": "arkgil"
},
{
"number": 126,
"created_at": "2023-01-17T20:47:31Z",
"last_comment_at": "2023-01-18T14:29:55Z",
"last_comment_author": "ethangunderson"
},
{
"number": 151,
"created_at": "2026-04-13T13:27:23Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-03-10T16:00:43Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 48,
"created_at": "2019-09-15T20:16:32Z",
"last_comment_at": "2020-04-14T21:00:25Z",
"last_comment_author": "binaryseed"
},
{
"number": 106,
"created_at": "2022-03-31T10:27:01Z",
"last_comment_at": "2022-05-12T12:31:04Z",
"last_comment_author": "hubertlepicki"
},
{
"number": 129,
"created_at": "2023-04-15T18:51:50Z",
"last_comment_at": "2023-04-16T02:58:51Z",
"last_comment_author": "bryannaegele"
},
{
"number": 132,
"created_at": "2024-05-01T20:15:25Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 138,
"created_at": "2025-04-29T17:22:04Z",
"last_comment_at": "2026-06-23T12:49:10Z",
"last_comment_author": "hauleth"
},
{
"number": 150,
"created_at": "2026-04-13T13:13:51Z",
"last_comment_at": "2026-04-13T13:15:36Z",
"last_comment_author": "hauleth"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/beam-telemetry/telemetry",
"host": "github.com",
"name": "telemetry",
"owner": "beam-telemetry"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 58,
"inputs": {
"security": 43,
"vitality": 47,
"community": 71,
"governance": 69,
"engineering": 57
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "at_risk",
"name": "Vitality",
"value": 47,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "at_risk",
"name": "Development activity",
"note": null,
"notes": [],
"value": 30,
"inputs": {
"commits_last_year": 11,
"human_commit_share": 1,
"days_since_last_push": 71,
"active_weeks_last_year": 4
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 71 days ago",
"points": 18,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 71
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "4/52 weeks with commits",
"points": 2.8,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 4
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "11 commits in the last year",
"points": 9.7,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 11
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "good",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 72,
"inputs": {
"releases_count": 15,
"latest_release_tag": "v1.4.2",
"releases_from_tags": true,
"days_since_latest_release": 71,
"mean_days_between_releases": 239
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "15 version tags (no GitHub releases)",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "version_tags_no_releases",
"params": {
"count": 15
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 71 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 71
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~239 days",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 239
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 71,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 71 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 71
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 71,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "good",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 72,
"inputs": {
"forks": 74,
"stars": 913,
"watchers": 38,
"growth_state": "organic",
"growth_factor_pct": 100
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "913 stars",
"points": 48,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 913
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "74 forks",
"points": 15.5,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 74
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "38 watchers",
"points": 8.7,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 38
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "excellent",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"packages": [
"telemetry"
],
"dependents": null,
"ecosystems": "hex",
"total_downloads": 157665600,
"monthly_downloads": 1682230
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "1,682,230 downloads/month across hex",
"points": 80,
"status": "met",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 1682230,
"ecosystems": "hex"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 69,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 42,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 33,
"top_contributor_share": 0.572
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 57% of commits",
"points": 9.6,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 57
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "33 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 33
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 13 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "excellent",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 88,
"inputs": {
"merged_prs": 92,
"open_issues": 6,
"closed_issues": 42,
"issue_closed_ratio": 0.875,
"closed_unmerged_prs": 7
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "88% of issues closed",
"points": 40.9,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 88
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "92/99 decided PRs merged",
"points": 35.5,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 92,
"decided": 99
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 25/30 approved changesets -- score normalized to 8",
"points": 12,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 59,
"inputs": {
"followers": 21,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "beam-telemetry",
"public_repos": 8,
"account_age_days": 2903
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "21 followers of beam-telemetry",
"points": 9.7,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 21,
"login": "beam-telemetry"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "8 public repos, account ~7 yr old",
"points": 18.9,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 8
}
},
{
"code": "account_age_years",
"params": {
"years": 7
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"telemetry"
],
"ecosystems": "hex",
"any_deprecated": false,
"min_days_since_publish": 71
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on hex",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "hex"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 71 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 71
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "15 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 15
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 57,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 52,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "1 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 1
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "7 out of 25 merged PRs checked by a CI test -- score normalized to 2",
"points": 4,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"topics": [
"elixir",
"metrics",
"instrumentation",
"events"
],
"has_wiki": false,
"homepage": "https://hexdocs.pm/telemetry",
"has_readme": true,
"has_docs_dir": false,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://hexdocs.pm/telemetry",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "4 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 4
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 43,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 43,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 15,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 3,
"scorecard_aggregate": 4.3
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "7 out of 25 merged PRs checked by a CI test -- score normalized to 2",
"points": 0.5,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 25/30 approved changesets -- score normalized to 8",
"points": 6,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 13 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 14
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "at_risk",
"name": "AI Readiness",
"value": 40,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.76,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "76 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 76,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "at_risk",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 35,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [
"mix.exs"
],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "mix.exs (toolchain convention, no task runner)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "toolchain_convention",
"params": {
"files": "mix.exs"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"primary_language": "Erlang",
"largest_source_bytes": 501,
"source_files_sampled": 1,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Erlang without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "Erlang"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/1 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 1,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [],
"report_type": "repository",
"generated_at": "2026-07-22T03:30:57.245972Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/b/beam-telemetry/telemetry.svg",
"full_name": "beam-telemetry/telemetry",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}