{"id":17992883,"url":"https://github.com/leostera/telemetry","last_synced_at":"2026-03-09T19:40:25.598Z","repository":{"id":206186919,"uuid":"716026760","full_name":"leostera/telemetry","owner":"leostera","description":"Lightweight event dispatching for OCaml.","archived":false,"fork":false,"pushed_at":"2024-02-27T20:06:16.000Z","size":10,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-21T01:11:06.965Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"OCaml","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leostera.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-11-08T10:23:13.000Z","updated_at":"2024-09-01T20:07:46.000Z","dependencies_parsed_at":"2023-11-08T11:32:42.304Z","dependency_job_id":"77ba0402-6aa5-41a7-bab7-7f8665400dad","html_url":"https://github.com/leostera/telemetry","commit_stats":null,"previous_names":["leostera/telemetry"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leostera%2Ftelemetry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leostera%2Ftelemetry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leostera%2Ftelemetry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leostera%2Ftelemetry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leostera","download_url":"https://codeload.github.com/leostera/telemetry/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245571834,"owners_count":20637410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-29T20:09:29.992Z","updated_at":"2026-03-09T19:40:25.563Z","avatar_url":"https://github.com/leostera.png","language":"OCaml","funding_links":[],"categories":[],"sub_categories":[],"readme":"# telemetry\n\nTelemetry is a lightweight library for dynamic dispatching of events, with a\nfocus on metrics and instrumentation. Any OCaml library can use telemetry to\nemit events, then application code and other libraries can then hook into those\nevents and run custom handlers.\n\n## Getting Started\n\nInstall from Opam:\n\n```\nopam install telemetry\n```\n\nCreate some events in your library or application code:\n\n```ocaml\ntype Telemetry.event += Web_request_done of { latency: int }\nTelemetry.emit (Web_request_done { latency = 10 });\n```\n\nAnd now attach listeners:\n\n```ocaml\nTelemetry.attach (fun ev -\u003e\n    match ev with\n    | Web_request_done {latency} -\u003e\n       Printf.printf \"Web request took %sms\" latency\n    | _ -\u003e ()\n);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleostera%2Ftelemetry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleostera%2Ftelemetry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleostera%2Ftelemetry/lists"}