@opentelemetry/otlp-transformer
Version:
Transform OpenTelemetry SDK data into OTLP
45 lines • 2.04 kB
TypeScript
import type { Attributes, HrTime } from '@opentelemetry/api';
import type { AnyValue, LogAttributes } from '@opentelemetry/api-logs';
import type { InstrumentationScope } from '@opentelemetry/core';
import type { Resource } from '@opentelemetry/resources';
import type { IProtobufWriter } from './i-protobuf-writer';
/**
* Write HrTime [seconds, nanoseconds] directly as fixed64 to the serializer.
* Converts to nanoseconds and writes as 64-bit little-endian integer without allocations.
*
* HrTime represents: total_nanos = seconds * 1_000_000_000 + nanoseconds
* We need to split this into low (bits 0-31) and high (bits 32-63).
*
* @param serializer - The protobuf writer
* @param hrTime - HrTime tuple [seconds, nanoseconds]
*/
export declare function writeHrTimeAsFixed64(serializer: IProtobufWriter, hrTime: HrTime): void;
/**
* Write Attributes directly to protobuf as repeated KeyValue
*/
export declare function writeAttributes(writer: IProtobufWriter, attributes: Attributes | LogAttributes, fieldNumber: number): void;
/**
* Write a KeyValue pair directly to protobuf
*/
export declare function writeKeyValue(writer: IProtobufWriter, key: string, value: AnyValue): void;
/**
* Write an AnyValue directly from raw attribute value to protobuf
*/
export declare function writeAnyValue(writer: IProtobufWriter, value: AnyValue): void;
/**
* Write an InstrumentationScope message.
*
* Proto fields (InstrumentationScope):
* 1 name string (wire type 2)
* 2 version string (wire type 2)
*/
export declare function writeInstrumentationScope(writer: IProtobufWriter, scope: InstrumentationScope, fieldNumber: number): void;
/**
* Write a Resource message and its enclosing tag.
*
* Proto fields (Resource):
* 1 attributes repeated KeyValue (wire type 2)
* 2 dropped_attributes_count uint32 (wire type 0)
*/
export declare function writeResource(writer: IProtobufWriter, resource: Resource, fieldNumber: number): void;
//# sourceMappingURL=common-serializer.d.ts.map