{"id":17180306,"url":"https://github.com/jjatria/perl-opentelemetry","last_synced_at":"2025-08-28T23:49:01.313Z","repository":{"id":147068105,"uuid":"565494263","full_name":"jjatria/perl-opentelemetry","owner":"jjatria","description":"A Perl implementation of the OpenTelemetry standard","archived":false,"fork":false,"pushed_at":"2025-05-07T22:29:24.000Z","size":605,"stargazers_count":27,"open_issues_count":4,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-08-19T18:16:13.454Z","etag":null,"topics":["opentelemetry","perl"],"latest_commit_sha":null,"homepage":"https://metacpan.org/pod/OpenTelemetry","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jjatria.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-11-13T15:36:23.000Z","updated_at":"2025-07-08T15:17:38.000Z","dependencies_parsed_at":"2023-04-25T09:31:06.474Z","dependency_job_id":"6c0f594e-e1e1-41f2-8779-ab936735905e","html_url":"https://github.com/jjatria/perl-opentelemetry","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/jjatria/perl-opentelemetry","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjatria%2Fperl-opentelemetry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjatria%2Fperl-opentelemetry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjatria%2Fperl-opentelemetry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjatria%2Fperl-opentelemetry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jjatria","download_url":"https://codeload.github.com/jjatria/perl-opentelemetry/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjatria%2Fperl-opentelemetry/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272582506,"owners_count":24959419,"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","status":"online","status_checked_at":"2025-08-28T02:00:10.768Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["opentelemetry","perl"],"created_at":"2024-10-15T00:29:20.268Z","updated_at":"2025-08-28T23:49:01.290Z","avatar_url":"https://github.com/jjatria.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenTelemetry for Perl\n\n[![Coverage Status]][coveralls]\n\nThis is part of an ongoing attempt at implementing the OpenTelemetry\nstandard in Perl. The distribution in this repository implements the\nabstract OpenTelemetry API, with [an SDK implementation] being worked on\nseparately.\n\n## What is OpenTelemetry?\n\nOpenTelemetry is an open source observability framework, providing a\ngeneral-purpose API, SDK, and related tools required for the instrumentation\nof cloud-native software, frameworks, and libraries.\n\nOpenTelemetry provides a single set of APIs, libraries, agents, and collector\nservices to capture distributed traces and metrics from your application. You\ncan analyze them using Prometheus, Jaeger, and other observability tools.\n\n## How does this distribution fit in?\n\nThis distribution defines the core OpenTelemetry interfaces in the form of\nabstract classes and no-op implementations. That is, it defines interfaces and\ndata types sufficient for a library or application to code against to produce\ntelemetry data, but does not actually collect, analyze, or export the data.\n\nTo collect and analyze telemetry data, *applications* should also install a\nconcrete implementation of the API. None exists at the moment, but work on\nthis should start next.\n\nThis separation allows *libraries* that produce telemetry data to depend only\non the API, deferring the choice of concrete implementation to the application\ndeveloper.\n\n## How do I get started?\n\nInstall this distribution from CPAN:\n```\ncpanm OpenTelemetry\n```\nor directly from the repository if you want to install a development\nversion (although note that only the CPAN version is recommended for\nproduction environments):\n```\n# On a local fork\ncd path/to/this/repo\ncpanm install .\n\n# Over the net\ncpanm https://github.com/jjatria/perl-opentelemetry.git\n```\n\nThen, use the OpenTelemetry interfaces to produces traces and other telemetry\ndata. Following is a basic example (although bear in mind this interface is\nstill being drafted, so some details might change):\n\n``` perl\nuse OpenTelemetry;\nuse v5.36;\n\n# Obtain the current default tracer provider\nmy $provider = OpenTelemetry-\u003etracer_provider;\n\n# Create a trace\nmy $tracer = $provider-\u003etracer( name =\u003e 'my_app', version =\u003e '1.0' );\n\n# Record spans\n$tracer-\u003ein_span( outer =\u003e sub ( $span, $context ) {\n    # In outer span\n\n    $tracer-\u003ein_span( inner =\u003e sub ( $span, $context ) {\n        # In inner span\n    });\n});\n```\n\n## How can I get involved?\n\nWe are in the process of setting up an OpenTelemetry-Perl special interest\ngroup (SIG). Until that is set up, you are free to [express your\ninterest][sig] or join us in IRC on the #io-async channel in irc.perl.org.\n\n## License\n\nThe OpenTelemetry distribution is licensed under the same terms as Perl\nitself. See [LICENSE] for more information.\n\n[an SDK implementation]: https://github.com/jjatria/perl-opentelemetry-sdk\n[Coverage Status]: https://coveralls.io/repos/github/jjatria/perl-opentelemetry/badge.svg?branch=main\n[coveralls]: https://coveralls.io/github/jjatria/perl-opentelemetry?branch=main\n[license]: https://github.com/jjatria/perl-opentelemetry/blob/main/LICENSE\n[sig]: https://github.com/open-telemetry/community/issues/828\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjjatria%2Fperl-opentelemetry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjjatria%2Fperl-opentelemetry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjjatria%2Fperl-opentelemetry/lists"}