विभिन्न प्रोग्रामिंग भाषाओं के लिए Instrumentation सैंपल
यह खंड विभिन्न प्रोग्रामिंग भाषाओं और फ्रेमवर्क में AWS Application Signals के साथ एप्लिकेशन को instrument करने के लिए मार्गदर्शन प्रदान करता है।
डेमो एप्लिकेशन
- Application Signals PetClinic डेमो - व्यापक instrumentation उदाहरणों के साथ बहु-भाषा Spring Boot माइक्रोसर्विसेज
- One Observability PetAdoptions डेमो - Java, Python, .NET, Go, Rust, और Node.js सर्विसेज के साथ फुल-स्टैक एप्लिकेशन
- CloudWatch Application Signals SkillBuilder डेमो - चरण-दर-चरण instrumentation गाइड के साथ शैक्षिक उदाहरण
Auto-Instrumentation
Auto-instrumentation लोकप्रिय फ्रेमवर्क और लाइब्रेरी को स्वचालित रूप से detect और instrument करके बिना कोड बदले Observability प्रदान करता है। Application Signals के साथ जल्दी शुरू करने के लिए यह अन ुशंसित दृष्टिकोण है।
Java Spring Boot एप्लिकेशन
Auto-Instrumentation सेटअप:
java -javaagent:/path/to/aws-opentelemetry-agent.jar \
-Dotel.service.name=my-java-app \
-jar your-app.jar
संदर्भ माइक्रोसर्विसेज:
- PetClinic डेमो:
- One Observability डेमो: Pet Search Service (Java)
Python एप्लिकेशन
Auto-Instrumentation सेटअप:
pip install pip install aws-opentelemetry-distro
opentelemetry-instrument \
--service_name my-python-app \
python your_app.py
संदर्भ माइक्रोसर्विसेज:
- One Observability डेमो:
Node.js एप्लिकेशन
Auto-Instrumentation सेटअप:
npm install @aws/opentelemetry-auto-instrumentation
node --require @aws/opentelemetry-auto-instrumentation \
your_app.js
संदर्भ माइक्रोसर्विसेज:
- One Observability डेमो (Lambda):
.NET एप्लिकेशन
Auto-Instrumentation सेटअप:
// Program.cs में कॉन्फ़िगर करें
builder.Services.AddOpenTelemetry()
.WithTracing(builder => builder
.AddAspNetCoreInstrumentation()
.AddOtlpExporter());
संदर्भ माइक्रोसर्विसेज:
- PetClinic डेमो: Payment Service (.NET)
- One Observability डेमो: Pet Site Service (.NET)
Manual Instrumentation
Manual instrumentation में बिना किसी auto-instrumentation agent के OpenTelemetry SDK का पूर्ण एंड-टू-एंड एकीकरण शामिल है। यह दृष्टिकोण टेलीमेट्री संग्रह पर अधिकतम नियंत्रण प्रदान करता है और उन भाषाओं के लिए आवश्यक है जो auto-instrumentation का समर्थन नहीं करतीं।
Java — Manual Spans
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.api.trace.Span;
Tracer tracer = GlobalOpenTelemetry.getTracer("my-service");
Span span = tracer.spanBuilder("custom-operation")
.setAttribute("user.id", userId)
.startSpan();
try {
// आपका बिज़नेस लॉजिक
processOrder(order);
} finally {
span.end();
}