• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/H12-Nov-2021-758705

attribute/H12-Nov-2021-2,2351,517

baggage/H12-Nov-2021-1,305965

bridge/H12-Nov-2021-5,2803,837

codes/H12-Nov-2021-298206

example/H12-Nov-2021-3,0442,250

exporters/H12-Nov-2021-38,86729,530

internal/H12-Nov-2021-5,9984,296

metric/H12-Nov-2021-3,8212,264

propagation/H12-Nov-2021-1,384992

schema/H12-Nov-2021-793495

sdk/H12-Nov-2021-20,22413,524

semconv/H12-Nov-2021-15,6517,470

trace/H12-Nov-2021-2,9852,103

website_docs/H12-Nov-2021-764576

.gitattributesH A D12-Nov-202189 43

.gitignoreH A D12-Nov-2021343 2218

.gitmodulesH A D12-Nov-2021147 43

.golangci.ymlH A D12-Nov-2021750 3329

.markdown-link.jsonH A D12-Nov-2021335 1716

.markdownlint.yamlH A D12-Nov-2021309 3020

CHANGELOG.mdH A D12-Nov-2021111.8 KiB1,6391,346

CODEOWNERSH A D12-Nov-2021517 1815

CONTRIBUTING.mdH A D12-Nov-202115.3 KiB496373

LICENSEH A D12-Nov-202111.1 KiB202169

MakefileH A D12-Nov-20216.5 KiB208154

README.mdH A D12-Nov-20214.6 KiB10176

RELEASING.mdH A D12-Nov-20215.5 KiB13492

VERSIONING.mdH A D12-Nov-202110.7 KiB225194

doc.goH A D12-Nov-20211.5 KiB351

error_handler.goH A D12-Nov-20211.4 KiB399

get_main_pkgs.shH A D12-Nov-20211.2 KiB4217

go.modH A D12-Nov-20212.6 KiB7439

go.sumH A D12-Nov-20211.4 KiB1615

handler.goH A D12-Nov-20213.3 KiB10852

handler_test.goH A D12-Nov-20215.9 KiB267195

pre_release.shH A D12-Nov-20212.5 KiB9657

propagation.goH A D12-Nov-20211.1 KiB3211

tag.shH A D12-Nov-20214.2 KiB179122

trace.goH A D12-Nov-20211.6 KiB4514

trace_test.goH A D12-Nov-20211.2 KiB4422

verify_examples.shH A D12-Nov-20212.3 KiB8648

version.goH A D12-Nov-2021758 214

version_test.goH A D12-Nov-20211.1 KiB3514

versions.yamlH A D12-Nov-20212.4 KiB6058

README.md

1# OpenTelemetry-Go
2
3[![CI](https://github.com/open-telemetry/opentelemetry-go/workflows/ci/badge.svg)](https://github.com/open-telemetry/opentelemetry-go/actions?query=workflow%3Aci+branch%3Amain)
4[![codecov.io](https://codecov.io/gh/open-telemetry/opentelemetry-go/coverage.svg?branch=main)](https://app.codecov.io/gh/open-telemetry/opentelemetry-go?branch=main)
5[![PkgGoDev](https://pkg.go.dev/badge/go.opentelemetry.io/otel)](https://pkg.go.dev/go.opentelemetry.io/otel)
6[![Go Report Card](https://goreportcard.com/badge/go.opentelemetry.io/otel)](https://goreportcard.com/report/go.opentelemetry.io/otel)
7[![Slack](https://img.shields.io/badge/slack-@cncf/otel--go-brightgreen.svg?logo=slack)](https://cloud-native.slack.com/archives/C01NPAXACKT)
8
9OpenTelemetry-Go is the [Go](https://golang.org/) implementation of [OpenTelemetry](https://opentelemetry.io/).
10It provides a set of APIs to directly measure performance and behavior of your software and send this data to observability platforms.
11
12## Project Status
13
14| Signal  | Status     | Project |
15| ------- | ---------- | ------- |
16| Traces  | Stable     | N/A     |
17| Metrics | Alpha      | N/A     |
18| Logs    | Frozen [1] | N/A     |
19
20- [1]: The Logs signal development is halted for this project while we develop both Traces and Metrics.
21   No Logs Pull Requests are currently being accepted.
22
23Progress and status specific to this repository is tracked in our local
24[project boards](https://github.com/open-telemetry/opentelemetry-go/projects)
25and
26[milestones](https://github.com/open-telemetry/opentelemetry-go/milestones).
27
28Project versioning information and stability guarantees can be found in the
29[versioning documentation](./VERSIONING.md).
30
31### Compatibility
32
33This project is tested on the following systems.
34
35| OS      | Go Version | Architecture |
36| ------- | ---------- | ------------ |
37| Ubuntu  | 1.17       | amd64        |
38| Ubuntu  | 1.16       | amd64        |
39| Ubuntu  | 1.15       | amd64        |
40| Ubuntu  | 1.17       | 386          |
41| Ubuntu  | 1.16       | 386          |
42| Ubuntu  | 1.15       | 386          |
43| MacOS   | 1.17       | amd64        |
44| MacOS   | 1.16       | amd64        |
45| MacOS   | 1.15       | amd64        |
46| Windows | 1.17       | amd64        |
47| Windows | 1.16       | amd64        |
48| Windows | 1.15       | amd64        |
49| Windows | 1.17       | 386          |
50| Windows | 1.16       | 386          |
51| Windows | 1.15       | 386          |
52
53While this project should work for other systems, no compatibility guarantees
54are made for those systems currently.
55
56## Getting Started
57
58You can find a getting started guide on [opentelemetry.io](https://opentelemetry.io/docs/go/getting-started/).
59
60OpenTelemetry's goal is to provide a single set of APIs to capture distributed
61traces and metrics from your application and send them to an observability
62platform. This project allows you to do just that for applications written in
63Go. There are two steps to this process: instrument your application, and
64configure an exporter.
65
66### Instrumentation
67
68To start capturing distributed traces and metric events from your application
69it first needs to be instrumented. The easiest way to do this is by using an
70instrumentation library for your code. Be sure to check out [the officially
71supported instrumentation
72libraries](https://github.com/open-telemetry/opentelemetry-go-contrib/tree/main/instrumentation).
73
74If you need to extend the telemetry an instrumentation library provides or want
75to build your own instrumentation for your application directly you will need
76to use the
77[go.opentelemetry.io/otel/api](https://pkg.go.dev/go.opentelemetry.io/otel/api)
78package. The included [examples](./example/) are a good way to see some
79practical uses of this process.
80
81### Export
82
83Now that your application is instrumented to collect telemetry, it needs an
84export pipeline to send that telemetry to an observability platform.
85
86All officially supported exporters for the OpenTelemetry project are contained in the [exporters directory](./exporters).
87
88| Exporter                              | Metrics | Traces |
89| :-----------------------------------: | :-----: | :----: |
90| [Jaeger](./exporters/jaeger/)         |         | ✓      |
91| [OTLP](./exporters/otlp/)             | ✓       | ✓      |
92| [Prometheus](./exporters/prometheus/) | ✓       |        |
93| [stdout](./exporters/stdout/)         | ✓       | ✓      |
94| [Zipkin](./exporters/zipkin/)         |         | ✓      |
95
96Additionally, OpenTelemetry community supported exporters can be found in the [contrib repository](https://github.com/open-telemetry/opentelemetry-go-contrib/tree/main/exporters).
97
98## Contributing
99
100See the [contributing documentation](CONTRIBUTING.md).
101