Skip to content

Azure Monitor Exporter: log exporter produces unparseable message content for complex body types #42174

Open
@lmolkova

Description

@lmolkova

Sample code:

var azmon = new AzureMonitorExporterBuilder()
        .connectionString(...)
        .buildLogRecordExporter();
var logProvider = SdkLoggerProvider.builder()
        .addLogRecordProcessor(SimpleLogRecordProcessor.create(OtlpGrpcLogRecordExporter.getDefault()))
        .addLogRecordProcessor(SimpleLogRecordProcessor.create(azmon))
        .build();
EventLoggerProvider eventLoggerProvider = SdkEventLoggerProvider.create(logProvider);
var logger = eventLoggerProvider.get("test-logger");
var event = new GenAIChoice()
        .setId(1)
        .setFinishReasons(new String[]{"stop", "length"})
        .setMessage(new GenAIMessage().setContent("test content"));
logger.builder("test-event")
        .put("id", Value.of(event.getId()))
        .put("finishReasons", Value.of(Arrays.stream(event.getFinishReasons()).map(Value::of).toArray(Value[]::new)))
        .put("message", event.getMessage().toValue())
        .emit();

AppInsights:
image

Aspire:
image

It's effectively impossible to parse what the exporter produces. It should produce valid json since KQL provides extensive support for it making it easy to parse and query corresponding content.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ClientThis issue points to a problem in the data-plane of the library.Monitor - AutoconfigureMonitor OpenTelemetry AutoconfigureOpenTelemetryOpenTelemetry instrumentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions