type osDescriptionProvider … var defaultOSDescriptionProvider … var osDescription … func setDefaultOSDescriptionProvider() { … } func setOSDescriptionProvider(osDescriptionProvider osDescriptionProvider) { … } type osTypeDetector … type osDescriptionDetector … // Detect returns a *Resource that describes the operating system type the // service is running on. func (osTypeDetector) Detect(ctx context.Context) (*Resource, error) { … } // Detect returns a *Resource that describes the operating system the // service is running on. func (osDescriptionDetector) Detect(ctx context.Context) (*Resource, error) { … } // mapRuntimeOSToSemconvOSType translates the OS name as provided by the Go runtime // into an OS type attribute with the corresponding value defined by the semantic // conventions. In case the provided OS name isn't mapped, it's transformed to lowercase // and used as the value for the returned OS type attribute. func mapRuntimeOSToSemconvOSType(osType string) attribute.KeyValue { … }