Skip to content

Commit 2e74b8a

Browse files
committed
docs(otlp-transformer): add entrypoints to readme.md
1 parent ebf6beb commit 2e74b8a

File tree

11 files changed

+63
-24
lines changed

11 files changed

+63
-24
lines changed

experimental/CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,18 @@ All notable changes to experimental packages in this project will be documented
1010
### :rocket: (Enhancement)
1111

1212
* feat(opentelemetry-sdk-node): automatically configure metrics exporter based on environment variables [#5168](https://github.com/open-telemetry/opentelemetry-js/pull/5168) @bhaskarbanerjee
13+
* feat(oltp-transformer)!: move each serializer to its own entrypoint [#5263](https://github.com/open-telemetry/opentelemetry-js/pull/5263) @pichlermarc
14+
* This package depends on all signals, as well as `protobuf.js`, so some bundlers like rollup would issue warnings even if the user made a conscious decision to not use a protobuf exporter
15+
* (user-facing) All types except for `ISerializer` were removed from the main entrypoint, to get previously exported types, use the following entrypoints
16+
* `@opentelemetry/otlp-transformer/metrics`: metrics export service return types
17+
* `@opentelemetry/otlp-transformer/metrics/json`: metrics json serializer
18+
* `@opentelemetry/otlp-transformer/metrics/protobuf`: metrics protobuf serializer
19+
* `@opentelemetry/otlp-transformer/trace`: trace export service return types
20+
* `@opentelemetry/otlp-transformer/trace/trace`: trace json serializer
21+
* `@opentelemetry/otlp-transformer/trace/protobuf`: trace protobuf serializer
22+
* `@opentelemetry/otlp-transformer/logs`: logs export service return types
23+
* `@opentelemetry/otlp-transformer/logs/trace`: logs export service return types
24+
* `@opentelemetry/otlp-transformer/logs/protobuf`: logs export service return types
1325

1426
### :bug: (Bug Fix)
1527

experimental/packages/otlp-transformer/README.md

Lines changed: 42 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19,45 +19,63 @@ To get started you will need to install a compatible OpenTelemetry API.
1919
npm install @opentelemetry/api
2020
```
2121

22+
### Experimental Features and Entrypoint
23+
24+
This package is currently marked as experimental. New minor versions may include breaking changes, regardless of
25+
the entrypoint used. Once the package is marked as stable, only the `experimental/` entrypoint will break in
26+
minor versions of the package. If you use experimental features it is therefore recommended to pin the package or use
27+
to depend on a tilde-version.
28+
2229
### Serialize Traces/Metrics/Logs
2330

2431
This module exports serializers to serialize traces, metrics and logs from the OpenTelemetry SDK into protocol buffers
2532
or JSON which can be sent over HTTP or gRPC (protobuf-only) to the OpenTelemetry collector or a compatible receiver.
2633

2734
```typescript
28-
import {
29-
JsonLogsSerializer,
30-
JsonMetricsSerializer,
31-
JsonTraceSerializer,
32-
ProtobufLogsSerializer,
33-
ProtobufMetricsSerializer,
34-
ProtobufTraceSerializer,
35-
IExportLogsServiceResponse,
36-
IExportMetricsServiceResponse,
37-
IExportTraceServiceResponse,
38-
} from '@opentelemetry/otlp-transformer';
39-
40-
// serialize to JSON export requests
41-
const serializedJsonLogs: Uint8Array = JsonLogsSerializer.serializeRequest(readableLogRecords);
42-
const serializedJsonMetrics: Uint8Array = JsonMetricsSerializer.serializeRequest(resourceMetrics);
43-
const serializedJsonTraces: Uint8Array = JsonTraceSerializer.serializeRequest(readableSpans);
35+
// Logs (protobuf) - experimental
36+
import { IExportLogsServiceResponse } from '@opentelemetry/otlp-transformer/experimental/logs';
37+
import { ProtobufLogsSerializer } from '@opentelemetry/otlp-transformer/experimental/logs/protobuf';
4438

45-
// serialize to Protobuf export requests
4639
const serializedProtobufLogs: Uint8Array = ProtobufLogsSerializer.serializeRequest(readableLogRecords);
47-
const serializedProtobufMetrics: Uint8Array = ProtobufMetricsSerializer.serializeRequest(resourceMetrics);
48-
const serializedProtobufTraces: Uint8Array = ProtobufTraceSerializer.serializeRequest(readableSpans);
40+
const deserializedProtobufLogResponse: IExportLogsServiceResponse = ProtobufLogsSerializer.deserializeResponse(protobufLogResponse);
41+
42+
// Logs (json) - experimental
43+
import { IExportLogsServiceResponse } from '@opentelemetry/otlp-transformer/experimental/logs';
44+
import { JsonLogsSerializer } from '@opentelemetry/otlp-transformer/experimental/logs/json';
4945

50-
// deserialize JSON export responses
46+
const serializedJsonLogs: Uint8Array = JsonLogsSerializer.serializeRequest(readableLogRecords);
5147
const deserializedJsonLogResponse: IExportLogsServiceResponse = JsonLogsSerializer.deserializeResponse(jsonLogResponse);
52-
const deserializedJsonMetricsResponse: IExportMetricsServiceResponse = JsonMetricsSerializer.deserializeResponse(jsonMetricsResponse);
53-
const deserializedJsonTraceResponse: IExportTraceServiceResponse = JsonTraceSerializer.deserializeResponse(jsonTraceResponse);
5448

55-
// deserialize Protobuf export responses
56-
const deserializedProtobufLogResponse: IExportLogsServiceResponse = ProtobufLogsSerializer.deserializeResponse(protobufLogResponse);
49+
// Metrics (protobuf)
50+
import { IExportMetricsServiceResponse } from '@opentelemetry/otlp-transformer/metrics'
51+
import { ProtobufMetricsSerializer } from '@opentelemetry/otlp-transformer/metrics/protobuf';
52+
53+
const serializedProtobufMetrics: Uint8Array = ProtobufMetricsSerializer.serializeRequest(resourceMetrics);
5754
const deserializedProtobufMetricsResponse: IExportMetricsServiceResponse = ProtobufMetricsSerializer.deserializeResponse(protobufMetricsResponse);
55+
56+
// Metrics (json)
57+
import { IExportMetricsServiceResponse } from '@opentelemetry/otlp-transformer/metrics'
58+
import { JsonMetricsSerializer } from '@opentelemetry/otlp-transformer/metrics/json';
59+
60+
const serializedJsonMetrics: Uint8Array = JsonMetricsSerializer.serializeRequest(resourceMetrics);
61+
const deserializedJsonMetricsResponse: IExportMetricsServiceResponse = JsonMetricsSerializer.deserializeResponse(jsonMetricsResponse);
62+
63+
// Traces (protobuf)
64+
import { IExportTraceServiceResponse } from '@opentelemetry/otlp-transformer/trace'
65+
import { ProtobufTraceSerializer } from '@opentelemetry/otlp-transformer/trace/protobuf';
66+
67+
const serializedProtobufTraces: Uint8Array = ProtobufTraceSerializer.serializeRequest(readableSpans);
5868
const deserializedProtobufTraceResponse: IExportTraceServiceResponse = ProtobufTraceSerializer.deserializeResponse(protobufTraceResponse);
69+
70+
// Traces (json)
71+
import { IExportTraceServiceResponse } from '@opentelemetry/otlp-transformer/trace'
72+
import { JsonTraceSerializer } from '@opentelemetry/otlp-transformer/trace/json';
73+
74+
const deserializedJsonTraceResponse: IExportTraceServiceResponse = JsonTraceSerializer.deserializeResponse(jsonTraceResponse);
75+
const serializedJsonTraces: Uint8Array = JsonTraceSerializer.serializeRequest(readableSpans);
5976
```
6077

78+
6179
## Useful links
6280

6381
- For more information on OpenTelemetry, visit: <https://opentelemetry.io/>

experimental/packages/otlp-transformer/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@
1414
* limitations under the License.
1515
*/
1616

17+
// IMPORTANT: exports added here are public
1718
export { ISerializer } from './i-serializer';

experimental/packages/otlp-transformer/src/logs/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17+
// IMPORTANT: exports added here are public
1718
export {
1819
IExportLogsServiceResponse,
1920
IExportLogsPartialSuccess,

experimental/packages/otlp-transformer/src/logs/json/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@
1414
* limitations under the License.
1515
*/
1616

17+
// IMPORTANT: exports added here are public
1718
export { JsonLogsSerializer } from './logs';

experimental/packages/otlp-transformer/src/metrics/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17+
// IMPORTANT: exports added here are public
1718
export {
1819
IExportMetricsPartialSuccess,
1920
IExportMetricsServiceResponse,

experimental/packages/otlp-transformer/src/metrics/json/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@
1414
* limitations under the License.
1515
*/
1616

17+
// IMPORTANT: exports added here are public
1718
export { JsonMetricsSerializer } from './metrics';

experimental/packages/otlp-transformer/src/metrics/protobuf/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@
1414
* limitations under the License.
1515
*/
1616

17+
// IMPORTANT: exports added here are public
1718
export { ProtobufMetricsSerializer } from './metrics';

experimental/packages/otlp-transformer/src/trace/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17+
// IMPORTANT: exports added here are public
1718
export {
1819
IExportTracePartialSuccess,
1920
IExportTraceServiceResponse,

experimental/packages/otlp-transformer/src/trace/json/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@
1414
* limitations under the License.
1515
*/
1616

17+
// IMPORTANT: exports added here are public
1718
export { JsonTraceSerializer } from './trace';

0 commit comments

Comments
 (0)