Skip to content

Commit 19ae835

Browse files
authored
Add basic information to README (#11)
* added about and packages section to readme * added quick start to readme
1 parent 2815c94 commit 19ae835

File tree

1 file changed

+93
-3
lines changed

1 file changed

+93
-3
lines changed

README.md

Lines changed: 93 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,102 @@
1-
# OpenTelemetry Browser
1+
# <img src="https://opentelemetry.io/img/logos/opentelemetry-logo-nav.png" alt="OpenTelemetry Icon" width="45" height=""> OpenTelemetry Browser
22

3-
## Maintainers
3+
## About
4+
5+
This repository is intended to be the central home for the OpenTelemetry Browser SDK.
6+
7+
Note: At present, web instrumentation packages are maintained in the JavaScript SDK repository or the JavaScript Contrib repository:
8+
- [opentelemetry-js](https://github.com/open-telemetry/opentelemetry-js)
9+
- [opentelemetry-js-contrib](https://github.com/open-telemetry/opentelemetry-js-contrib)
10+
11+
See the [Packages](#packages) section below for a list of browser-related packages.
12+
13+
## Quick Start
14+
15+
### Installation
16+
17+
```bash
18+
npm install @opentelemetry/sdk-trace-web \
19+
@opentelemetry/opentelemetry-browser-detector \
20+
@opentelemetry/instrumentation \
21+
@opentelemetry/exporter-trace-otlp-http \
22+
@opentelemetry/instrumentation-fetch \
23+
@opentelemetry/instrumentation-xml-http-request
24+
```
25+
26+
### Basic example
27+
28+
```js
29+
import { BatchSpanProcessor, WebTracerProvider } from '@opentelemetry/sdk-trace-web';
30+
import { resourceFromAttributes, detectResources } from '@opentelemetry/resources';
31+
import { browserDetector } from '@opentelemetry/opentelemetry-browser-detector';
32+
import { registerInstrumentations } from '@opentelemetry/instrumentation';
33+
import { ATTR_SERVICE_NAME } from '@opentelemetry/semantic-conventions';
34+
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
35+
import { FetchInstrumentation } from '@opentelemetry/instrumentation-fetch';
36+
import { XMLHttpRequestInstrumentation } from '@opentelemetry/instrumentation-xml-http-request';
37+
38+
// configure resources
39+
let resource = resourceFromAttributes({
40+
[ATTR_SERVICE_NAME]: 'my-app',
41+
});
42+
let detectedResources = await detectResources({detectors:[browserDetector]});
43+
resource = resource.merge(detectedResources);
44+
45+
// configure exporter
46+
const exporter = new OTLPTraceExporter({
47+
url: '<opentelemetry-collector-url>'
48+
});
49+
50+
// initialize trace provider
51+
const provider = new WebTracerProvider({
52+
resource,
53+
spanProcessors: [new BatchSpanProcessor(exporter)]
54+
});
55+
provider.register();
56+
57+
// Registering instrumentations
58+
registerInstrumentations({
59+
instrumentations: [
60+
new FetchInstrumentation(),
61+
new XMLHttpRequestInstrumentation()
62+
],
63+
});
64+
```
65+
66+
## Packages
67+
68+
The following tables list browser-related packages, where they live today, and their intent.
69+
70+
### SDK and Utilities
71+
72+
| Package | Location | Intent | Status |
73+
| --- | --- | --- | --- |
74+
| opentelemetry-sdk-trace-web | [opentelemetry-js/packages/opentelemetry-sdk-trace-web](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-web) | Browser tracing SDK (WebTracerProvider, web tracing setup). | stable |
75+
| opentelemetry-browser-detector | [opentelemetry-js/experimental/packages/opentelemetry-browser-detector](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-browser-detector) | Resource detector for browser environment attributes. | experimental |
76+
| web-common | [opentelemetry-js/experimental/packages/web-common](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/web-common) | Shared utilities for browser/web instrumentations. | experimental |
77+
| opentelemetry-context-zone | [opentelemetry-js/packages/opentelemetry-context-zone](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-context-zone) | Zone.js-based context manager for maintaining trace context in browsers. | stable |
78+
| auto-instrumentations-web | [opentelemetry-js-contrib/packages/auto-instrumentations-web](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/auto-instrumentations-web) | Bundle that auto-enables common web instrumentations. | experimental |
79+
80+
### Instrumentations
81+
82+
| Package | Location | Intent | Status |
83+
| --- | --- | --- | --- |
84+
| opentelemetry-instrumentation-fetch | [opentelemetry-js/experimental/packages/opentelemetry-instrumentation-fetch](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-fetch) | Instrumentation for the Fetch API. | experimental |
85+
| opentelemetry-instrumentation-xml-http-request | [opentelemetry-js/experimental/packages/opentelemetry-instrumentation-xml-http-request](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-xml-http-request) | Instrumentation for XMLHttpRequest. | experimental |
86+
| instrumentation-document-load | [opentelemetry-js-contrib/packages/instrumentation-document-load](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-document-load) | Capture document load/navigation timing spans. | experimental |
87+
| instrumentation-long-task | [opentelemetry-js-contrib/packages/instrumentation-long-task](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-long-task) | Capture Long Tasks API entries as spans. | experimental |
88+
| instrumentation-user-interaction | [opentelemetry-js-contrib/packages/instrumentation-user-interaction](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-user-interaction) | Trace user interactions (e.g., clicks). | experimental |
89+
| plugin-react-load | [opentelemetry-js-contrib/packages/plugin-react-load](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/plugin-react-load) | Instrument React application load/mount performance. | experimental |
90+
91+
## Contributing
92+
93+
### Maintainers
494

595
- TODO
696

797
For more information about the maintainer role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#maintainer).
898

9-
## Approvers
99+
### Approvers
10100

11101
- TODO
12102

0 commit comments

Comments
 (0)