The InstallNewPipeline and NewExportPipeline create a TracerProvicer that does not have any Resource associated with it. This means that by default the service name, a required attribute, will not be set and the default value will be used. The purpose of these functions was to provide users with a simple one-call solution to setup exporters with all the required values included and production level configuration set. Not setting the service name means these functions are not serving their purpose.
Possible solutions
- Remove these functions. They can be useful, but, as this issue points out, their API may not be the most validate with user feedback. Removing these functions prior to a stable release means they can be added back in with more context from measured use.
- Add a way for the service name to be passed.
- Add an argument for the service name. This will resolve this issue, but will not be extensible.
- Add a configuration/options that include the service name as arguments. This will solve this issue, but will be cumbersome and add API bloat.
- Leave it as is. These functions will remain incomplete in their setup with best practices but they can be documented that you should not use them if you want your service to be identified, or that you should use environment variables.
The
InstallNewPipelineandNewExportPipelinecreate aTracerProvicerthat does not have anyResourceassociated with it. This means that by default the service name, a required attribute, will not be set and the default value will be used. The purpose of these functions was to provide users with a simple one-call solution to setup exporters with all the required values included and production level configuration set. Not setting the service name means these functions are not serving their purpose.Possible solutions