cmd/otelinmemexporter/exporter.go (29 lines of code) (raw):

// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one // or more contributor license agreements. Licensed under the Elastic License 2.0; // you may not use this file except in compliance with the Elastic License 2.0. // Package otelinmemexporter contains code for creating an in-memory OTEL exporter. package otelinmemexporter import ( "context" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" "go.uber.org/zap" ) const componentID = "inmem" type inMemExporter struct { cfg Config store *Store logger *zap.Logger } func newInMemExporter(cfg Config, store *Store, logger *zap.Logger) *inMemExporter { return &inMemExporter{ cfg: cfg, store: store, logger: logger, } } func (e *inMemExporter) consumeMetrics(_ context.Context, ld pmetric.Metrics) error { e.logger.Debug("received metrics", zap.Int("count", ld.MetricCount())) e.store.Add(ld) return nil } func (e *inMemExporter) consumeTraces(_ context.Context, ld ptrace.Traces) error { e.logger.Debug("received traces", zap.Int("count", ld.SpanCount())) return nil }