distributed-tracing
Implement distributed tracing with Jaeger and Tempo for request flow visibility across microservices.
- License 许可
- Apache-2.0
- 最近更新
- 2026-06-23
- Stars
- ★ 6
- Forks
- 0
01 前言 Front Matter
- name
- distributed-tracing
- risk
- critical
- source
- community
- date_added
- 2026-02-27
- description
- Implement distributed tracing with Jaeger and Tempo for request flow visibility across microservices.
02 资源文件 317
- 参考文档Patterns/agility_story/system.md827 B
- 参考文档Patterns/agility_story/user.md—
- 参考文档Patterns/ai/system.md485 B
- 参考文档Patterns/analyze_answers/README.md2.1 KB
- 参考文档Patterns/analyze_answers/system.md3.2 KB
- 参考文档Patterns/analyze_bill_short/system.md1.1 KB
- 参考文档Patterns/analyze_bill/system.md1.0 KB
- 参考文档Patterns/analyze_candidates/system.md1.2 KB
- 参考文档Patterns/analyze_candidates/user.md—
- 参考文档Patterns/analyze_cfp_submission/system.md2.4 KB
- 参考文档Patterns/analyze_claims/system.md2.7 KB
- 参考文档Patterns/analyze_claims/user.md—
- 参考文档Patterns/analyze_comments/system.md1.1 KB
- 参考文档Patterns/analyze_debate/system.md3.6 KB
- 参考文档Patterns/analyze_email_headers/system.md2.6 KB
- 参考文档Patterns/analyze_email_headers/user.md—
- 参考文档Patterns/analyze_incident/system.md1.8 KB
- 参考文档Patterns/analyze_incident/user.md—
- 参考文档Patterns/analyze_interviewer_techniques/system.md2.6 KB
- 参考文档Patterns/analyze_logs/system.md2.2 KB
- 参考文档Patterns/analyze_malware/system.md2.8 KB
- 参考文档Patterns/analyze_military_strategy/system.md2.2 KB
- 参考文档Patterns/analyze_mistakes/system.md1.9 KB
- 参考文档Patterns/analyze_paper_simple/system.md7.0 KB
- 参考文档Patterns/analyze_paper/system.md6.0 KB
- 参考文档Patterns/analyze_paper/user.md—
- 参考文档Patterns/analyze_patent/system.md3.6 KB
- 参考文档Patterns/analyze_personality/system.md1.4 KB
- 参考文档Patterns/analyze_presentation/system.md3.0 KB
- 参考文档Patterns/analyze_product_feedback/system.md2.0 KB
- 参考文档Patterns/analyze_proposition/system.md1.2 KB
- 参考文档Patterns/analyze_proposition/user.md—
- 参考文档Patterns/analyze_prose_json/system.md6.3 KB
- 参考文档Patterns/analyze_prose_json/user.md—
- 参考文档Patterns/analyze_prose_pinker/system.md7.3 KB
- 参考文档Patterns/analyze_prose/system.md4.8 KB
- 参考文档Patterns/analyze_prose/user.md—
- 参考文档Patterns/analyze_risk/system.md4.1 KB
- 参考文档Patterns/analyze_sales_call/system.md2.5 KB
- 参考文档Patterns/analyze_spiritual_text/system.md1.1 KB
- 参考文档Patterns/analyze_spiritual_text/user.md—
- 参考文档Patterns/analyze_tech_impact/system.md1.9 KB
- 参考文档Patterns/analyze_tech_impact/user.md—
- 参考文档Patterns/analyze_terraform_plan/system.md1.0 KB
- 参考文档Patterns/analyze_threat_report_cmds/system.md2.6 KB
- 参考文档Patterns/analyze_threat_report_trends/system.md1.2 KB
- 参考文档Patterns/analyze_threat_report_trends/user.md9 B
- 参考文档Patterns/analyze_threat_report/system.md2.2 KB
- 参考文档Patterns/analyze_threat_report/user.md9 B
- 参考文档Patterns/answer_interview_question/system.md2.2 KB
- 参考文档Patterns/arbiter-create-ideal/system.md590 B
- 参考文档Patterns/arbiter-evaluate-quality/system.md495 B
- 参考文档Patterns/arbiter-general-evaluator/system.md2.2 KB
- 参考文档Patterns/arbiter-run-prompt/system.md432 B
- 参考文档Patterns/ask_secure_by_design_questions/system.md1.9 KB
- 参考文档Patterns/ask_uncle_duke/system.md6.7 KB
- 参考文档Patterns/capture_thinkers_work/system.md2.4 KB
- 参考文档Patterns/check_agreement/system.md1.3 KB
- 参考文档Patterns/check_agreement/user.md—
- 参考文档Patterns/clean_text/system.md557 B
- 参考文档Patterns/clean_text/user.md—
- 参考文档Patterns/coding_master/system.md1.2 KB
- 参考文档Patterns/compare_and_contrast/system.md255 B
- 参考文档Patterns/compare_and_contrast/user.md—
- 参考文档Patterns/convert_to_markdown/system.md1.6 KB
- 参考文档Patterns/create_5_sentence_summary/system.md1.1 KB
- 参考文档Patterns/create_academic_paper/system.md818 B
- 参考文档Patterns/create_ai_jobs_analysis/system.md1.9 KB
- 参考文档Patterns/create_aphorisms/system.md459 B
- 参考文档Patterns/create_aphorisms/user.md—
- 参考文档Patterns/create_art_prompt/system.md1.0 KB
- 参考文档Patterns/create_better_frame/system.md14.6 KB
- 参考文档Patterns/create_better_frame/user.md—
- 参考文档Patterns/create_clint_summary/system.md17.2 KB
- 参考文档Patterns/create_coding_feature/README.md2.6 KB
- 参考文档Patterns/create_coding_feature/system.md4.0 KB
- 参考文档Patterns/create_coding_project/README.md2.7 KB
- 参考文档Patterns/create_coding_project/system.md1.8 KB
- 参考文档Patterns/create_command/README.md2.4 KB
- 参考文档Patterns/create_command/system.md1.5 KB
- 参考文档Patterns/create_command/user.md—
- 参考文档Patterns/create_conceptmap/system.md4.8 KB
- 参考文档Patterns/create_cyber_summary/system.md1.7 KB
- 参考文档Patterns/create_design_document/system.md4.3 KB
- 参考文档Patterns/create_diy/system.md1.4 KB
- 参考文档Patterns/create_excalidraw_visualization/system.md4.1 KB
- 参考文档Patterns/create_flash_cards/system.md676 B
- 参考文档Patterns/create_formal_email/system.md2.6 KB
- 参考文档Patterns/create_git_diff_commit/README.md112 B
- 参考文档Patterns/create_git_diff_commit/system.md1.2 KB
- 参考文档Patterns/create_graph_from_input/system.md950 B
- 参考文档Patterns/create_hormozi_offer/system.md25.1 KB
- 参考文档Patterns/create_idea_compass/system.md1.7 KB
- 参考文档Patterns/create_investigation_visualization/system.md1.7 KB
- 参考文档Patterns/create_keynote/system.md2.0 KB
- 参考文档Patterns/create_loe_document/system.md3.1 KB
- 参考文档Patterns/create_logo/system.md875 B
- 参考文档Patterns/create_logo/user.md—
- 参考文档Patterns/create_markmap_visualization/system.md2.8 KB
- 参考文档Patterns/create_mermaid_visualization_for_github/system.md2.0 KB
- 参考文档Patterns/create_mermaid_visualization/system.md1.9 KB
- 参考文档Patterns/create_micro_summary/system.md968 B
- 参考文档Patterns/create_mnemonic_phrases/readme.md1.6 KB
- 参考文档Patterns/create_mnemonic_phrases/system.md2.9 KB
- 参考文档Patterns/create_network_threat_landscape/system.md2.2 KB
- 参考文档Patterns/create_network_threat_landscape/user.md9 B
- 参考文档Patterns/create_npc/system.md740 B
- 参考文档Patterns/create_npc/user.md—
- 参考文档Patterns/create_pattern/system.md2.5 KB
- 参考文档Patterns/create_podcast_image/system.md1.1 KB
- 参考文档Patterns/create_podcast_image/user.md—
- 参考文档Patterns/create_prd/system.md1.9 KB
- 参考文档Patterns/create_prediction_block/system.md3.0 KB
- 参考文档Patterns/create_quiz/README.md806 B
- 参考文档Patterns/create_quiz/system.md1.4 KB
- 参考文档Patterns/create_reading_plan/system.md3.5 KB
- 参考文档Patterns/create_recursive_outline/system.md2.7 KB
- 参考文档Patterns/create_report_finding/system.md2.6 KB
- 参考文档Patterns/create_report_finding/user.md9 B
- 参考文档Patterns/create_rpg_summary/system.md8.2 KB
- 参考文档Patterns/create_security_update/system.md1.9 KB
- 参考文档Patterns/create_security_update/user.md—
- 参考文档Patterns/create_show_intro/system.md1.9 KB
- 参考文档Patterns/create_sigma_rules/system.md2.3 KB
- 参考文档Patterns/create_story_about_people_interaction/system.md2.1 KB
- 参考文档Patterns/create_story_about_person/system.md2.5 KB
- 参考文档Patterns/create_stride_threat_model/system.md3.8 KB
- 参考文档Patterns/create_summary/system.md960 B
- 参考文档Patterns/create_tags/system.md694 B
- 参考文档Patterns/create_threat_model/system.md18.4 KB
- 参考文档Patterns/create_threat_scenarios/system.md19.6 KB
- 参考文档Patterns/create_ttrc_graph/system.md1.4 KB
- 参考文档Patterns/create_ttrc_narrative/system.md885 B
- 参考文档Patterns/create_upgrade_pack/system.md2.3 KB
- 参考文档Patterns/create_user_story/system.md2.3 KB
- 参考文档Patterns/create_video_chapters/system.md2.7 KB
- 参考文档Patterns/create_video_chapters/user.md—
- 参考文档Patterns/create_visualization/system.md2.7 KB
- 参考文档Patterns/dialog_with_socrates/system.md8.3 KB
- 参考文档Patterns/enrich_blog_post/system.md2.3 KB
- 参考文档Patterns/explain_code/system.md894 B
- 参考文档Patterns/explain_code/user.md2 B
- 参考文档Patterns/explain_docs/system.md1.5 KB
- 参考文档Patterns/explain_docs/user.md—
- 参考文档Patterns/explain_math/README.md4.7 KB
- 参考文档Patterns/explain_math/system.md505 B
- 参考文档Patterns/explain_project/system.md1.9 KB
- 参考文档Patterns/explain_terms/system.md1.6 KB
- 参考文档Patterns/export_data_as_csv/system.md603 B
- 参考文档Patterns/extract_algorithm_update_recommendations/system.md821 B
- 参考文档Patterns/extract_algorithm_update_recommendations/user.md—
- 参考文档Patterns/extract_alpha/system.md861 B
- 参考文档Patterns/extract_article_wisdom/dmiessler/extract_wisdom-1.0.0/system.md2.0 KB
- 参考文档Patterns/extract_article_wisdom/dmiessler/extract_wisdom-1.0.0/user.md9 B
- 参考文档Patterns/extract_article_wisdom/README.md7.3 KB
- 参考文档Patterns/extract_article_wisdom/system.md1.7 KB
- 参考文档Patterns/extract_article_wisdom/user.md9 B
- 参考文档Patterns/extract_book_ideas/system.md1.1 KB
- 参考文档Patterns/extract_book_recommendations/system.md1.2 KB
- 参考文档Patterns/extract_business_ideas/system.md977 B
- 参考文档Patterns/extract_characters/system.md5.2 KB
- 参考文档Patterns/extract_controversial_ideas/system.md595 B
- 参考文档Patterns/extract_core_message/system.md1.2 KB
- 参考文档Patterns/extract_ctf_writeup/README.md562 B
- 参考文档Patterns/extract_ctf_writeup/system.md1.5 KB
- 参考文档Patterns/extract_domains/system.md763 B
- 参考文档Patterns/extract_extraordinary_claims/system.md1.0 KB
- 参考文档Patterns/extract_ideas/system.md1.3 KB
- 参考文档Patterns/extract_insights/system.md1.1 KB
- 参考文档Patterns/extract_instructions/system.md1.9 KB
- 参考文档Patterns/extract_jokes/system.md552 B
- 参考文档Patterns/extract_latest_video/system.md387 B
- 参考文档Patterns/extract_main_activities/system.md664 B
- 参考文档Patterns/extract_main_idea/system.md819 B
- 参考文档Patterns/extract_mcp_servers/system.md2.1 KB
- 参考文档Patterns/extract_most_redeeming_thing/system.md1.1 KB
- 参考文档Patterns/extract_patterns/system.md2.4 KB
- 参考文档Patterns/extract_poc/system.md826 B
- 参考文档Patterns/extract_poc/user.md—
- 参考文档Patterns/extract_predictions/system.md1.0 KB
- 参考文档Patterns/extract_primary_problem/system.md1.3 KB
- 参考文档Patterns/extract_primary_solution/system.md1.4 KB
- 参考文档Patterns/extract_product_features/dmiessler/extract_wisdom-1.0.0/system.md2.0 KB
- 参考文档Patterns/extract_product_features/dmiessler/extract_wisdom-1.0.0/user.md9 B
- 参考文档Patterns/extract_product_features/README.md7.2 KB
- 参考文档Patterns/extract_product_features/system.md793 B
- 参考文档Patterns/extract_questions/system.md1.1 KB
- 参考文档Patterns/extract_recipe/README.md396 B
- 参考文档Patterns/extract_recipe/system.md1.0 KB
- 参考文档Patterns/extract_recommendations/system.md477 B
- 参考文档Patterns/extract_recommendations/user.md—
- 参考文档Patterns/extract_references/system.md564 B
- 参考文档Patterns/extract_references/user.md—
- 参考文档Patterns/extract_skills/system.md758 B
- 参考文档Patterns/extract_song_meaning/system.md1.4 KB
- 参考文档Patterns/extract_sponsors/system.md1.3 KB
- 参考文档Patterns/extract_videoid/system.md573 B
- 参考文档Patterns/extract_videoid/user.md—
- 参考文档Patterns/extract_wisdom_agents/system.md6.7 KB
- 参考文档Patterns/extract_wisdom_nometa/system.md2.7 KB
- 参考文档Patterns/extract_wisdom/dmiessler/extract_wisdom-1.0.0/system.md2.0 KB
- 参考文档Patterns/extract_wisdom/dmiessler/extract_wisdom-1.0.0/user.md9 B
- 参考文档Patterns/extract_wisdom/README.md7.2 KB
- 参考文档Patterns/extract_wisdom/system.md3.2 KB
- 参考文档Patterns/find_female_life_partner/system.md1.3 KB
- 参考文档Patterns/find_hidden_message/system.md3.6 KB
- 参考文档Patterns/find_logical_fallacies/system.md31.1 KB
- 参考文档Patterns/fix_typos/system.md1014 B
- 参考文档Patterns/generate_code_rules/system.md427 B
- 参考文档Patterns/get_wow_per_minute/system.md3.7 KB
- 参考文档Patterns/get_youtube_rss/system.md717 B
- 参考文档Patterns/heal_person/system.md3.2 KB
- 参考文档Patterns/humanize/README.md4.6 KB
- 参考文档Patterns/humanize/system.md8.7 KB
- 参考文档Patterns/identify_dsrp_distinctions/system.md5.3 KB
- 参考文档Patterns/identify_dsrp_perspectives/system.md5.5 KB
- 参考文档Patterns/identify_dsrp_relationships/system.md5.1 KB
- 参考文档Patterns/identify_dsrp_systems/system.md7.0 KB
- 参考文档Patterns/identify_job_stories/system.md5.5 KB
- 参考文档Patterns/improve_academic_writing/system.md803 B
- 参考文档Patterns/improve_academic_writing/user.md—
- 参考文档Patterns/improve_prompt/system.md33.9 KB
- 参考文档Patterns/improve_report_finding/system.md2.5 KB
- 参考文档Patterns/improve_report_finding/user.md9 B
- 参考文档Patterns/improve_writing/system.md705 B
- 参考文档Patterns/improve_writing/user.md—
- 参考文档Patterns/judge_output/system.md2.4 KB
- 参考文档Patterns/label_and_rate/system.md9.0 KB
- 其他Patterns/loaded—
- 参考文档Patterns/md_callout/system.md1.1 KB
- 参考文档Patterns/model_as_sherlock_freud/system.md3.8 KB
- 参考文档Patterns/official_pattern_template/system.md5.1 KB
- 参考文档Patterns/pattern_explanations.md36.0 KB
- 参考文档Patterns/predict_person_actions/system.md2.8 KB
- 参考文档Patterns/prepare_7s_strategy/system.md2.3 KB
- 参考文档Patterns/provide_guidance/system.md2.1 KB
- 参考文档Patterns/rate_ai_response/system.md2.4 KB
- 参考文档Patterns/rate_ai_result/system.md5.0 KB
- 参考文档Patterns/rate_content/system.md2.2 KB
- 参考文档Patterns/rate_content/user.md9 B
- 参考文档Patterns/rate_value/README.md177 B
- 参考文档Patterns/rate_value/system.md2.0 KB
- 参考文档Patterns/rate_value/user.md—
- 参考文档Patterns/raw_query/system.md327 B
- 其他Patterns/raycast/capture_thinkers_work833 B
- 其他Patterns/raycast/create_story_explanation842 B
- 其他Patterns/raycast/extract_primary_problem839 B
- 其他Patterns/raycast/extract_wisdom808 B
- 其他Patterns/raycast/yt840 B
- 参考文档Patterns/recommend_artists/system.md1.3 KB
- 参考文档Patterns/recommend_pipeline_upgrades/system.md1.1 KB
- 参考文档Patterns/recommend_yoga_practice/system.md2.3 KB
- 参考文档Patterns/refine_design_document/system.md878 B
- 参考文档Patterns/review_code/system.md4.7 KB
- 参考文档Patterns/review_design/system.md3.6 KB
- 参考文档Patterns/show_fabric_options_markmap/system.md21.6 KB
- 参考文档Patterns/solve_with_cot/system.md1.3 KB
- 参考文档Patterns/suggest_pattern/system.md14.3 KB
- 参考文档Patterns/suggest_pattern/user_clean.md—
- 参考文档Patterns/suggest_pattern/user_updated.md35.3 KB
- 参考文档Patterns/suggest_pattern/user.md23.8 KB
- 参考文档Patterns/summarize_board_meeting/system.md4.0 KB
- 参考文档Patterns/summarize_debate/system.md2.7 KB
- 参考文档Patterns/summarize_git_changes/system.md768 B
- 参考文档Patterns/summarize_git_diff/system.md1.6 KB
- 参考文档Patterns/summarize_lecture/system.md4.2 KB
- 参考文档Patterns/summarize_legislation/system.md2.3 KB
- 参考文档Patterns/summarize_meeting/system.md1.9 KB
- 参考文档Patterns/summarize_micro/system.md968 B
- 参考文档Patterns/summarize_micro/user.md—
- 参考文档Patterns/summarize_paper/README.md4.4 KB
- 参考文档Patterns/summarize_paper/system.md2.0 KB
- 参考文档Patterns/summarize_paper/user.md—
- 参考文档Patterns/summarize_prompt/system.md1.1 KB
- 参考文档Patterns/summarize_pull-requests/system.md1.0 KB
- 参考文档Patterns/summarize_pull-requests/user.md—
- 参考文档Patterns/summarize_rpg_session/system.md4.5 KB
- 参考文档Patterns/summarize/dmiessler/summarize/system.md1.2 KB
- 参考文档Patterns/summarize/dmiessler/summarize/user.md9 B
- 参考文档Patterns/summarize/system.md960 B
- 参考文档Patterns/summarize/user.md—
- 参考文档Patterns/t_analyze_challenge_handling/system.md883 B
- 参考文档Patterns/t_check_dunning_kruger/system.md2.6 KB
- 参考文档Patterns/t_check_metrics/system.md787 B
- 参考文档Patterns/t_create_h3_career/system.md905 B
- 参考文档Patterns/t_create_opening_sentences/system.md1.0 KB
- 参考文档Patterns/t_describe_life_outlook/system.md735 B
- 参考文档Patterns/t_extract_intro_sentences/system.md865 B
- 参考文档Patterns/t_extract_panel_topics/system.md903 B
- 参考文档Patterns/t_find_blindspots/system.md824 B
- 参考文档Patterns/t_find_negative_thinking/system.md856 B
- 参考文档Patterns/t_find_neglected_goals/system.md788 B
- 参考文档Patterns/t_give_encouragement/system.md852 B
- 参考文档Patterns/t_red_team_thinking/system.md879 B
- 参考文档Patterns/t_threat_model_plans/system.md835 B
- 参考文档Patterns/t_visualize_mission_goals_projects/system.md754 B
- 参考文档Patterns/t_year_in_review/system.md857 B
- 参考文档Patterns/threshold/system.md7.0 KB
- 参考文档Patterns/to_flashcards/system.md2.4 KB
- 参考文档Patterns/transcribe_minutes/README.md—
- 参考文档Patterns/transcribe_minutes/system.md2.1 KB
- 参考文档Patterns/translate/system.md1.0 KB
- 参考文档Patterns/tweet/system.md4.4 KB
- 参考文档Patterns/write_essay_pg/system.md50.6 KB
- 参考文档Patterns/write_essay/system.md1.2 KB
- 参考文档Patterns/write_hackerone_report/README.md1.8 KB
- 参考文档Patterns/write_hackerone_report/system.md6.1 KB
- 参考文档Patterns/write_latex/system.md1.4 KB
- 参考文档Patterns/write_micro_essay/system.md50.4 KB
- 参考文档Patterns/write_nuclei_template_rule/system.md66.6 KB
- 参考文档Patterns/write_nuclei_template_rule/user.md—
- 参考文档Patterns/write_pull-request/system.md4.6 KB
- 参考文档Patterns/write_semgrep_rule/system.md31.2 KB
- 参考文档Patterns/write_semgrep_rule/user.md—
- 参考文档Patterns/youtube_summary/system.md1.9 KB
- 参考文档Workflows/ExecutePattern.md9.3 KB
- 参考文档Workflows/UpdatePatterns.md2.6 KB
03 SKILL.md 正文
Distributed Tracing
Implement distributed tracing with Jaeger and Tempo for request flow visibility across microservices.
Do not use this skill when
- The task is unrelated to distributed tracing
- You need a different domain or tool outside this scope
Instructions
- Clarify goals, constraints, and required inputs.
- Apply relevant best practices and validate outcomes.
- Provide actionable steps and verification.
- If detailed examples are required, open
resources/implementation-playbook.md.
Purpose
Track requests across distributed systems to understand latency, dependencies, and failure points.
Use this skill when
- Debug latency issues
- Understand service dependencies
- Identify bottlenecks
- Trace error propagation
- Analyze request paths
Distributed Tracing Concepts
Trace Structure
Trace (Request ID: abc123)
↓
Span (frontend) [100ms]
↓
Span (api-gateway) [80ms]
├→ Span (auth-service) [10ms]
└→ Span (user-service) [60ms]
└→ Span (database) [40ms]
Key Components
- Trace - End-to-end request journey
- Span - Single operation within a trace
- Context - Metadata propagated between services
- Tags - Key-value pairs for filtering
- Logs - Timestamped events within a span
Jaeger Setup
Kubernetes Deployment
# Deploy Jaeger Operator
kubectl create namespace observability
kubectl create -f https://github.com/jaegertracing/jaeger-operator/releases/download/v1.51.0/jaeger-operator.yaml -n observability
# Deploy Jaeger instance
kubectl apply -f - <<EOF
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: jaeger
namespace: observability
spec:
strategy: production
storage:
type: elasticsearch
options:
es:
server-urls: http://elasticsearch:9200
ingress:
enabled: true
EOF
Docker Compose
version: '3.8'
services:
jaeger:
image: jaegertracing/all-in-one:latest
ports:
- "5775:5775/udp"
- "6831:6831/udp"
- "6832:6832/udp"
- "5778:5778"
- "16686:16686" # UI
- "14268:14268" # Collector
- "14250:14250" # gRPC
- "9411:9411" # Zipkin
environment:
- COLLECTOR_ZIPKIN_HOST_PORT=:9411
Reference: See references/jaeger-setup.md
Application Instrumentation
OpenTelemetry (Recommended)
Python (Flask)
from opentelemetry import trace
from opentelemetry.exporter.jaeger.thrift import JaegerExporter
from opentelemetry.sdk.resources import SERVICE_NAME, Resource
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.instrumentation.flask import FlaskInstrumentor
from flask import Flask
# Initialize tracer
resource = Resource(attributes={SERVICE_NAME: "my-service"})
provider = TracerProvider(resource=resource)
processor = BatchSpanProcessor(JaegerExporter(
agent_host_name="jaeger",
agent_port=6831,
))
provider.add_span_processor(processor)
trace.set_tracer_provider(provider)
# Instrument Flask
app = Flask(__name__)
FlaskInstrumentor().instrument_app(app)
@app.route('/api/users')
def get_users():
tracer = trace.get_tracer(__name__)
with tracer.start_as_current_span("get_users") as span:
span.set_attribute("user.count", 100)
# Business logic
users = fetch_users_from_db()
return {"users": users}
def fetch_users_from_db():
tracer = trace.get_tracer(__name__)
with tracer.start_as_current_span("database_query") as span:
span.set_attribute("db.system", "postgresql")
span.set_attribute("db.statement", "SELECT * FROM users")
# Database query
return query_database()
Node.js (Express)
const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
const { JaegerExporter } = require('@opentelemetry/exporter-jaeger');
const { BatchSpanProcessor } = require('@opentelemetry/sdk-trace-base');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
const { HttpInstrumentation } = require('@opentelemetry/instrumentation-http');
const { ExpressInstrumentation } = require('@opentelemetry/instrumentation-express');
// Initialize tracer
const provider = new NodeTracerProvider({
resource: { attributes: { 'service.name': 'my-service' } }
});
const exporter = new JaegerExporter({
endpoint: 'http://jaeger:14268/api/traces'
});
provider.addSpanProcessor(new BatchSpanProcessor(exporter));
provider.register();
// Instrument libraries
registerInstrumentations({
instrumentations: [
new HttpInstrumentation(),
new ExpressInstrumentation(),
],
});
const express = require('express');
const app = express();
app.get('/api/users', async (req, res) => {
const tracer = trace.getTracer('my-service');
const span = tracer.startSpan('get_users');
try {
const users = await fetchUsers();
span.setAttributes({ 'user.count': users.length });
res.json({ users });
} finally {
span.end();
}
});
Go
package main
import (
"context"
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/exporters/jaeger"
"go.opentelemetry.io/otel/sdk/resource"
sdktrace "go.opentelemetry.io/otel/sdk/trace"
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
)
func initTracer() (*sdktrace.TracerProvider, error) {
exporter, err := jaeger.New(jaeger.WithCollectorEndpoint(
jaeger.WithEndpoint("http://jaeger:14268/api/traces"),
))
if err != nil {
return nil, err
}
tp := sdktrace.NewTracerProvider(
sdktrace.WithBatcher(exporter),
sdktrace.WithResource(resource.NewWithAttributes(
semconv.SchemaURL,
semconv.ServiceNameKey.String("my-service"),
)),
)
otel.SetTracerProvider(tp)
return tp, nil
}
func getUsers(ctx context.Context) ([]User, error) {
tracer := otel.Tracer("my-service")
ctx, span := tracer.Start(ctx, "get_users")
defer span.End()
span.SetAttributes(attribute.String("user.filter", "active"))
users, err := fetchUsersFromDB(ctx)
if err != nil {
span.RecordError(err)
return nil, err
}
span.SetAttributes(attribute.Int("user.count", len(users)))
return users, nil
}
Reference: See references/instrumentation.md
Context Propagation
HTTP Headers
traceparent: 00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01
tracestate: congo=t61rcWkgMzE
Propagation in HTTP Requests
Python
from opentelemetry.propagate import inject
headers = {}
inject(headers) # Injects trace context
response = requests.get('http://downstream-service/api', headers=headers)
Node.js
const { propagation } = require('@opentelemetry/api');
const headers = {};
propagation.inject(context.active(), headers);
axios.get('http://downstream-service/api', { headers });
Tempo Setup (Grafana)
Kubernetes Deployment
apiVersion: v1
kind: ConfigMap
metadata:
name: tempo-config
data:
tempo.yaml: |
server:
http_listen_port: 3200
distributor:
receivers:
jaeger:
protocols:
thrift_http:
grpc:
otlp:
protocols:
http:
grpc:
storage:
trace:
backend: s3
s3:
bucket: tempo-traces
endpoint: s3.amazonaws.com
querier:
frontend_worker:
frontend_address: tempo-query-frontend:9095
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: tempo
spec:
replicas: 1
template:
spec:
containers:
- name: tempo
image: grafana/tempo:latest
args:
- -config.file=/etc/tempo/tempo.yaml
volumeMounts:
- name: config
mountPath: /etc/tempo
volumes:
- name: config
configMap:
name: tempo-config
Reference: See assets/jaeger-config.yaml.template
Sampling Strategies
Probabilistic Sampling
# Sample 1% of traces
sampler:
type: probabilistic
param: 0.01
Rate Limiting Sampling
# Sample max 100 traces per second
sampler:
type: ratelimiting
param: 100
Adaptive Sampling
from opentelemetry.sdk.trace.sampling import ParentBased, TraceIdRatioBased
# Sample based on trace ID (deterministic)
sampler = ParentBased(root=TraceIdRatioBased(0.01))
Trace Analysis
Finding Slow Requests
Jaeger Query:
service=my-service
duration > 1s
Finding Errors
Jaeger Query:
service=my-service
error=true
tags.http.status_code >= 500
Service Dependency Graph
Jaeger automatically generates service dependency graphs showing:
- Service relationships
- Request rates
- Error rates
- Average latencies
Best Practices
- Sample appropriately (1-10% in production)
- Add meaningful tags (user_id, request_id)
- Propagate context across all service boundaries
- Log exceptions in spans
- Use consistent naming for operations
- Monitor tracing overhead (<1% CPU impact)
- Set up alerts for trace errors
- Implement distributed context (baggage)
- Use span events for important milestones
- Document instrumentation standards
Integration with Logging
Correlated Logs
import logging
from opentelemetry import trace
logger = logging.getLogger(__name__)
def process_request():
span = trace.get_current_span()
trace_id = span.get_span_context().trace_id
logger.info(
"Processing request",
extra={"trace_id": format(trace_id, '032x')}
)
Troubleshooting
No traces appearing:
- Check collector endpoint
- Verify network connectivity
- Check sampling configuration
- Review application logs
High latency overhead:
- Reduce sampling rate
- Use batch span processor
- Check exporter configuration
Reference Files
references/jaeger-setup.md- Jaeger installationreferences/instrumentation.md- Instrumentation patternsassets/jaeger-config.yaml.template- Jaeger configuration
Related Skills
prometheus-configuration- For metricsgrafana-dashboards- For visualizationslo-implementation- For latency SLOs
04 同仓库更多 Skills
test_skill
暂无简介
zustand-store-ts
Create Zustand stores following established patterns with proper TypeScript types and middleware.
zoom-automation
Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.
zoho-crm-automation
Automate Zoho CRM tasks via Rube MCP (Composio): create/update records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.
zod-validation-expert
Expert in Zod — TypeScript-first schema validation. Covers parsing, custom errors, refinements, type inference, and integration with React Hook Form, Next.js, and tRPC.
zeroize-audit
Detects missing zeroization of sensitive data in source code and identifies zeroization removed by compiler optimizations, with assembly-level analysis, and control-flow verification. Use for auditing C/C++/Rust code handling secrets, keys, passwords, or other sensitive data.