-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Use google cloud collector exporter, and feature-gate pdata-direct metrics exporter. #7177
Use google cloud collector exporter, and feature-gate pdata-direct metrics exporter. #7177
Conversation
8ccc05f
to
aeef4c0
Compare
This PR was marked stale due to lack of activity. It will be closed in 14 days. |
3993cb3
to
345067f
Compare
Discussed at the sig meeting today. We can move forward with this before pdata is 1.0 |
0d7316e
to
c57ad0d
Compare
This is ready for review. |
c57ad0d
to
8fb7f1b
Compare
9569652
to
b4a344a
Compare
@djaglowski @jpkrohling let me know if there is anything I can do to help make reviews easier. |
@open-telemetry/collector-contrib-approvers, could one of you review this one? I don't think I can review this over the next few days. |
There are a bunch of conflicts which you should fix, but otherwise LGTM |
b4a344a
to
8e3a6a4
Compare
Description:
Fixes #7132
This changes the googlecloud exporter to use the newly developed GCP collector exporter in the github.com/GoogleCloudPlatform/opentelemetry-operations-go repository. The googlecloud collector exporter lives in that repository so that e2e tests can be run against live google cloud APIs at presubmit time.
Changes are gated by the
exporter.googlecloud.OTLPDirect
feature-gate. This feature will initially be alpha while we iron out any bugs we find.Factory changes and feature-gating
The feature-gate applies to the factory so that the feature-gate also changes which config structure is valid. There are breaking changes across client options. The feature gate also changes which implementation of the metrics and traces exporter is used.
Trace exporter
The only difference between the new vs old trace exporter is configuration (see feature-gate section above); it is unchanged otherwise.
Metric exporter
The metrics exporter is completely re-written, and converts directly from pdata to google cloud's types. Since this is a new implementation, leave the previous implementation in-place in this repository, but prefix files with legacy as a reminder that they should be removed when the feature is graduated to GA. The new metrics implementation is only used when the feature gate is enabled.
Dependencies
The collector exporter is designed specifically to minimize its dependencies on collector-core. It does this by not implementing the component interfaces (e.g.
NewFactory()
), and does not depend on component types (e.g.component.ExporterCreateSettings
). Thus, it must define its ownConfig
, which is the portion of the overallConfig
which does not include component types. The remaining code here opentelemetry-collector-contrib is just a wrapper around theConfig
of the GCP collector exporter which adds exporterhelper pieces, and implements the required collector interfaces.The only dependencies the GCP collector exporter has on collector core are:
go.opentelemetry.io/collector/model/pdata
go.opentelemetry.io/collector/model/semconv/v1.8.0