Skip to content

Conversation

fedeoliv
Copy link

@fedeoliv fedeoliv commented Oct 11, 2025

Description

This PR adds a new exporter that sends traces, logs, and metrics to Azure Event Hubs.

Testing

  • Added unit tests for configuration, factory, and marshallers
  • Tested with different auth types (connection string, service principal, managed identities)
  • Validated partition key strategies (random, static, resource_attribute, trace_id, span_id)

Documentation

  • README with configuration examples
  • Example configurations for all auth types

Features

  • Supports multiple authentication methods (connection string, service principal, managed identities, workload identity, Default Azure credentials)
  • Configurable Event Hub routing for traces, logs, and metrics
  • Partition key strategies for load distribution
  • JSON and Protobuf format support
  • Retry configuration
  • Event size validation (max 1MB based on the Azure Event Hubs quotas and limits documentation)

@fedeoliv fedeoliv requested a review from a team as a code owner October 11, 2025 23:54
@fedeoliv fedeoliv requested a review from ArthurSens October 11, 2025 23:54
Copy link

linux-foundation-easycla bot commented Oct 11, 2025

CLA Signed

The committers listed above are authorized under a signed CLA.

@github-actions github-actions bot added the first-time contributor PRs made by new contributors label Oct 11, 2025
Copy link
Contributor

Welcome, contributor! Thank you for your contribution to opentelemetry-collector-contrib.

Important reminders:

A maintainer will review your pull request soon. Thank you for helping make OpenTelemetry better!

Copy link
Contributor

@constanca-m constanca-m left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @fedeoliv ! Thanks for your contribution!

The event hub has a kafka endpoint, and we currently have a kafka exporter. What would this exporter give us extra?


Regardless, there is a workflow to follow on new components:

  1. Open an issue first to find a sponsor for your component.
  2. Once you have a sponsor, open a first PR with only the skeleton of the new component.
  3. Then you can open a 2nd PR (it would be this one) with the implementation.

Please see the contributing guide: Adding new components.

Traces *component.ID `mapstructure:"traces"`
}

type Authentication struct {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use azureauth extension

@atoulme atoulme marked this pull request as draft October 13, 2025 05:34
@atoulme atoulme added the Sponsor Needed New component seeking sponsor label Oct 13, 2025
Copy link
Contributor

Welcome, contributor! Thank you for your contribution to opentelemetry-collector-contrib.

Important reminders:

A maintainer will review your pull request soon. Thank you for helping make OpenTelemetry better!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

first-time contributor PRs made by new contributors Sponsor Needed New component seeking sponsor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants