Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New component: eventhubsexporter #23660

Closed
2 tasks done
JakeDern opened this issue Jun 23, 2023 · 7 comments
Closed
2 tasks done

New component: eventhubsexporter #23660

JakeDern opened this issue Jun 23, 2023 · 7 comments
Labels
closed as inactive Sponsor Needed New component seeking sponsor Stale Vendor-Specific Component New component that interfaces with a vendor API and will be maintained by the vendor.

Comments

@JakeDern
Copy link

JakeDern commented Jun 23, 2023

The purpose and use-cases of the new component

I am currently developing an Azure Event Hubs exporter which is reasonably far along. If there is interest we would love to contribute it back to this project.

Some of the motivations for doing so:

  • Take advantage of more authentication methods available in the azure sdk for go project
  • Have clear configuration that is designed for event hubs/azure rather than being molded around Kafka configuration
  • Avoid risk of issues like azure eventhub kafka exporter #11846 where Kafka client libraries like Sarama are not necessarily considering event hubs in their development

Some additional implementation details/goals:

  • Based on azeventhubs library in the azure sdk
  • Leverages the exporterhelper for common functionality
  • Supports common encodings like otlp_proto and otlp_json, but allows for easily extending to include additional encodings in custom distributions
  • Supports some common compression options for the payload, but also allows for easily extending to include additional options/implementations in custom distributions

Example configuration for the component

Here's a sample of the current configuration options. For auth we've just started with a connection string with shared access key, but plan to expand on that soon:

// Auth defines authentication options for the event hubs exporter.
type Auth struct {
	ConnectionString string `mapstructure:"connection_string"`
}

// Config defines configuration for OTLP exporter.
type Config struct {
	// Auth defines the authentication options for the event hubs exporter
	Auth Auth `mapstructure:"auth"`

	// Encoding for the payload e.g. "otlp_json" or "otlp_proto"
	Encoding string `mapstructure:"encoding"`

	// Compression for the payload e.g. "snappy"
	Compression string `mapstructure:"compression"`

	// Inherited settings from exporterhelper
	exporterhelper.TimeoutSettings `mapstructure:",squash"`
	exporterhelper.RetrySettings   `mapstructure:"retry_on_failure"`
	exporterhelper.QueueSettings   `mapstructure:"sending_queue"`
}

Telemetry data types supported

Logs, metrics, and traces are all supported.

Is this a vendor-specific component?

  • This is a vendor-specific component
  • If this is a vendor-specific component, I am proposing to contribute this as a representative of the vendor.

Sponsor (optional)

No response

Additional context

While I work for Microsoft within Azure, I do not work on the azeventhubs client library nor on Event Hubs itself. Rather I am developing a different product that makes use of both OpenTelemetry and Event Hubs.

@JakeDern JakeDern added the needs triage New item requiring triage label Jun 23, 2023
@atoulme atoulme added Sponsor Needed New component seeking sponsor and removed needs triage New item requiring triage labels Jun 27, 2023
@MovieStoreGuy
Copy link
Contributor

I am happy to sponsor this provided we get another contributor from Azure to be code owners.

@JakeDern
Copy link
Author

@MovieStoreGuy Do you need someone involved as a contributor in the project already, or do you just need a couple of names from us to put down in the codeowners file?

If you need someone who is already a contributor on the project I can try to reach out to some folks listed on the other azure components in here.

@MovieStoreGuy
Copy link
Contributor

@MovieStoreGuy Do you need someone involved as a contributor in the project already

They need to be community members for them to be listed as a code owner. I am happy to provide the technical direction and support but I can't speak on behalf of Azure so I would like more people to help answer those types of questions.

@JakeDern
Copy link
Author

@MovieStoreGuy I looked through the other azure-related components in the repo and the owners listed there who are still at Microsoft don't seem to be in the open-telemetry organization. If I can get in touch with them would that work or should I
be looking for members only?

Also would the slack be an appropriate forum to advertise that we're looking for owners for this component?

@atoulme atoulme added the Vendor-Specific Component New component that interfaces with a vendor API and will be maintained by the vendor. label Jul 21, 2023
@atoulme
Copy link
Contributor

atoulme commented Jul 21, 2023

Slack is a great place to start. Feel free to come to a SIG meeting as well.
Some context on codeowners: #20868
Some context on Azure-related codeowners:

@github-actions
Copy link
Contributor

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

Copy link
Contributor

This issue has been closed as inactive because it has been stale for 120 days with no activity.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Nov 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closed as inactive Sponsor Needed New component seeking sponsor Stale Vendor-Specific Component New component that interfaces with a vendor API and will be maintained by the vendor.
Projects
None yet
Development

No branches or pull requests

3 participants