You've already forked opentelemetry-go
							
							
				mirror of
				https://github.com/open-telemetry/opentelemetry-go.git
				synced 2025-10-31 00:07:40 +02:00 
			
		
		
		
	resource: Add testable example (#4887)
This commit is contained in:
		
							
								
								
									
										47
									
								
								sdk/resource/example_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								sdk/resource/example_test.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,47 @@ | ||||
| // Copyright The OpenTelemetry Authors | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| //     http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| package resource_test | ||||
|  | ||||
| import ( | ||||
| 	"context" | ||||
| 	"errors" | ||||
| 	"fmt" | ||||
| 	"log" | ||||
|  | ||||
| 	"go.opentelemetry.io/otel/attribute" | ||||
| 	"go.opentelemetry.io/otel/sdk/resource" | ||||
| ) | ||||
|  | ||||
| func ExampleNew() { | ||||
| 	res, err := resource.New( | ||||
| 		context.Background(), | ||||
| 		resource.WithFromEnv(),      // Discover and provide attributes from OTEL_RESOURCE_ATTRIBUTES and OTEL_SERVICE_NAME environment variables. | ||||
| 		resource.WithTelemetrySDK(), // Discover and provide information about the OpenTelemetry SDK used. | ||||
| 		resource.WithProcess(),      // Discover and provide process information. | ||||
| 		resource.WithOS(),           // Discover and provide OS information. | ||||
| 		resource.WithContainer(),    // Discover and provide container information. | ||||
| 		resource.WithHost(),         // Discover and provide host information. | ||||
| 		resource.WithAttributes(attribute.String("foo", "bar")), // Add custom resource attributes. | ||||
| 		// resource.WithDetectors(thirdparty.Detector{}), // Bring your own external Detector implementation. | ||||
| 	) | ||||
| 	if errors.Is(err, resource.ErrPartialResource) || errors.Is(err, resource.ErrSchemaURLConflict) { | ||||
| 		log.Println(err) // Log non-fatal issues. | ||||
| 	} else if err != nil { | ||||
| 		log.Fatalln(err) // The error may be fatal. | ||||
| 	} | ||||
|  | ||||
| 	// Now, you can use the resource (e.g. pass it to a tracer or meter provider). | ||||
| 	fmt.Println(res.SchemaURL()) | ||||
| } | ||||
		Reference in New Issue
	
	Block a user