Marcus @ Will 保哥的技術交流中心
Agenda
什麼是可觀測性
Observability
解決甚麼問題,具備甚麼特性 ?
OpenTelemetry
如何在 .NET 使用 OpenTelemetry
OpenTelemetry x .NET
總結
Take away
反思
Measure
• 專注在後端開發的工程師
• 喜歡上技術課程,參與外部研討會吸收新知識
Marcus Tung
Blog : m@rcus 學習筆記 Fb : 技術管理者論壇
Observability
“ ”
Virtualization Cloud Orchestration
Containers
Serverless / FaaS
Monolith N - tier SOA Microservices
Challenge
Infrastructure
Cloud native infrastructure is more than servers, network,
and storage in the cloud—it is as much about operational
hygiene as it is about elasticity and scalability.
FaaS
That provides a platform allowing customers to develop,
run, and manage application functionalities without the
complexity of building and maintaining the infrastructure
typically associated with developing and launching an app
Architectures
Software architecture refers to the fundamental structures
of a software system and the discipline of creating such
structures and systems. Each structure comprises software
elements, relations among them, and properties of both
elements and relations.
Complexity low Reference : Hunting for Evil with the Elastic Stack
Complexity high
Virtualization Cloud Orchestration
Containers
Serverless / FaaS
Monolith N - tier SOA Microservices
Challenge
Infrastructure
Cloud native infrastructure is more than servers, network,
and storage in the cloud—it is as much about operational
hygiene as it is about elasticity and scalability.
FaaS
That provides a platform allowing customers to develop,
run, and manage application functionalities without the
complexity of building and maintaining the infrastructure
typically associated with developing and launching an app
Architectures
Software architecture refers to the fundamental structures
of a software system and the discipline of creating such
structures and systems. Each structure comprises software
elements, relations among them, and properties of both
elements and relations.
Reference : Hunting for Evil with the Elastic Stack
Monitoring
Complexity
Complexity low Complexity high
Troubleshooting
你要如何在 最短 時間恢復 ?
• Network is Reliable
• Latency is Zero
• Bandwidth is Infinite
• Network is Secure
• Topology doesn't change
• There is one administrator
• Transport cost is zero
• Network is homogeneous
案例 : 10/4 Meta facebook 大當機
Reference : 臉書全球當機7小時!故障原因找到了
• 影響時間 : 6 小時
• 影響人數 : 八千萬人
• 損失金額 : 10 億台幣
• 影響股價 : 4.89 %
Meta 服務中斷 orem Ipsum is simply dummy text of the printing and
orem Ipsum is simply dummy text of the printing and
orem Ipsum is simply dummy text of the printing and
orem Ipsum is simply dummy text of the printing and
orem Ipsum is simply dummy text of the printing and
Cloud Native
“ ”
Observability
“ ”
The Pillars
Observability is a measure of how well internal states of
a system can be inferred from knowledge of its external
outputs.
Why is observability
important now ?
“ ”
Data Available
Understanding
Unknown Knowns
• Things we understand but are not
aware of
• “We implemented an orchestrator to
ensure the system is always running”
Unknown UnKnowns
• Things we are neither aware of nor
Understand
• “Instances churn because the
orchestrator restarts the process when it
approaches its memory limit, causing
sporadic failures and slowdowns”
Known Knowns
• Things we are aware of and understand
• “The system has a 1GB memory limit”
Known UnKnowns
• Things we are aware of but don’t
• Understand
• “The system exceeded its memory limit
• and crashed, causing an outage”
Reference : Microservice Observability
Data Available
Understanding
Unknown Knowns
There are many variations of passages of
Lorem Ipsum available, but the majority have
suffered alteration in some form.
Unknown Knowns
There are many variations of passages of
Lorem Ipsum available, but the majority have
suffered alteration in some form.
Known Knowns
There are many variations of passages of
Lorem Ipsum available, but the majority have
suffered alteration in some form.
Known UnKnowns
There are many variations of passages of
Lorem Ipsum available, but the majority have
suffered alteration in some form.
ASSUMPTIONS
DISCOVERIES
FACTS
HYPOTHESES
Reference : Microservice Observability
Data Available
Understanding
Unknown Knowns
There are many variations of passages of
Lorem Ipsum available, but the majority have
suffered alteration in some form.
Known UnKnowns
There are many variations of passages of
Lorem Ipsum available, but the majority have
suffered alteration in some form.
Observability
DISCOVERIES
Monitoring
HYPOTHESES
Reference : Microservice Observability
Difference
Monitoring
Observability
will get you information about your system
and let you know if there’s a failure
grants an easy way of understanding where
and why that failure happened, and what
caused it.
Reference : Monitoring in the time of Cloud Native
How to collect data
that will provide
observability?
“ ”
OpenTelemetry
“ ”
2nd Most active CNCF project
Reference : CNCF Dev Stats
Precursor of OpenTelemetry
The next major version of both
OpenCensus and OpenTracing
“
”
OpenCensus OpenTracing OpenTelemetry
Trends in Tracing Standards
Reference : Construction and Operation of Observability Platform using Istio
OpenTelemetry overview
Interop formats
w3c trace-context, write formats for
observability
Collector
The OpenTelemetry Collector is a vendor-adgnostic
proxy that can receive, process, and export telemetry
data. It supports receiving telemetry data in multiple
formats (e.g., OTLP, Jaeger, Prometheus, as well as
many and sending data to one or more backends.
The Cloud Native Computing Foundation (CNCF)
hosts critical components of the global
technology infrastructure. CNCF brings together
the world’s top developers, end users.
APIs
Defines data types and operations for
generating and correlating tracing, metrics, and
logging data.
OpenTelemetry
OpenTelemetry overview
• Single set of APIs for tracing and
metrics collection
• Integrations with popular web, RPC and
storage frameworks
• Standardized Context Propagation
• Exporters for sending data to backend
of choice
Reference : OpenTelemetry Overview
Context Propagation
• traceID : identifier of the span context
• spanID : the span identifier of the span context.
• traceFlags : the trace options for the span context.
• traceState : the trace state for the span context.
Span Context
Using HTTP request context to pass metadata between services
OpenTelemetry support protocols
• W3C Trace-Context HTTP Propagator
• W3C Correlation-Context HTTP Propagator
• B3 Zipkin HTTP Propagator.
Propagation
Single Transaction
Service
Service
Storage
Service
Storage
Service
Storage
Service Service
Traces with OpenTelemetry
Defined implicitly by its spans. A trace can be thought
of as a directed acyclic graph of spans where the
edges between spans are defined as parent/child
relationships.
Trace
Represents a single unit of work in a system.
Span
Individual unit of work done within a distributed
system. Spans generally have a name, and a start and
end timestamp.
Parent
Trace
Spans
• http.status_code
• http.url
Tags
"http.status_code": 500,
"http.url": "http://example.com", "my.custom.application.tag": "hello",
Tags
"service.name": "donut_shop",
"service.version": "2.0.0",
"k8s.pod.uid": "1138528c-c36e-11e9-a1a7-42010a800198",
Logs
"TraceId": "f4dbb3edd765f620
"SpanId": "43222c2d51a7abe3",
"SeverityText": "INFO",
"SeverityNumber": 9,
"Body": "20200415T072306-0700 INFO I like donuts"
Span Context
• service.name
• service.version
• Custom tag
Logs
• traceID : identifier of the span context
• spanID : the span identifier of the span context.
Span Context
Logs with OpenTelemetry
Languages SDKs & Platform
OpenTelemetry in .NET
“ ”
Exporter
• Azure Application Insights
• Azure Monitor Collector
SDK
It implements the Tracing API, the Metrics API,
and the Context API. This SDK also supports
ILogger integration.
Instrumentation libraries
• ASP.NET、ASP.NET Core
• Grpc.Net.Client、HTTP clients
• Redis client、SQL client
• …etc
APIs
• Tracing (1.0)
• Metrics (Alpha)
• Logging (Beta)
OpenTelemetry in .NET
OpenTelemetry
OpenTelemetry Architecture
Application OpenTelemetry
API
Exporter
API
API
3rd Library
3rd Library
Protocol | Extensibility
Minimal
Implementation
Log, Metrics, Tracing
etc
Prometheus
Jaeger
Zipkin
SigNoz
SDK Collector
Receive
Core functionality
Span scope,
context propagation
w3c standard etc
Telemetry data
Receive
Process
Receive
Export
OTLP OTLP
OpenTelemetry Architecture
Application OpenTelemetry
API
Exporter
API
API
3rd Library
3rd Library
OpenTelemetry Protocol (OTLP)
OTLP is a protocol based on requests and responses, for example the
client sends requests and the server corresponds with responses.
gRPC / HTTP
Minimal
Implementation
Log, Metrics, Tracing
etc
Prometheus
Jaeger
Zipkin
SigNoz
SDK Collector
Receive
Core functionality
Span scope,
context propagation
w3c standard etc
Telemetry data
Receive
Process
Receive
Export
OTLP OTLP
OpenTelemetry Architecture
Application OpenTelemetry
API
Exporter
API
API
3rd Library
3rd Library
Protocol | Extensibility
Minimal
Implementation
Log, Metrics, Tracing
etc
Prometheus
Jaeger
Zipkin
SigNoz
SDK Collector
Receive
Core functionality
Span scope,
context propagation
w3c standard etc
Telemetry data
Receive
Process
Receive
Export
OTLP OTLP
link : OpenTelemetry Registry
Package with OpenTelemetry
Metrics
• System.Diagnostics.Metrics.Counter
• System.Diagnostics.Metrics.Observablecounter
• System.Diagnostics.Metrics.Histogram
• System.Diagnostics.Metrics.Observablegauge
Exporter
• OpenTelemetry.Exporter.Jaeger
• OpenTelemetry.Exporter.Console
• OpenTelemetry.Exporter.Zipkin
• OpenTelemetry.Exporter.Prometheus
• Microsoft.OpenTelemetry.Exporter.AzureMonitor
Instrumentation
• OpenTelemetry.Instrumentation.AspNet
• OpenTelemetry.Instrumentation.AspNetCore
• OpenTelemetry.Instrumentation.Http
• OpenTelemetry.Instrumentation.SqlClient
• OpenTelemetry.Instrumentation.StackExchangeR
edis
Tracing
• System.Diagnostics.ActivitySource
• System.Diagnostics.Activity (Span)
Demo
OpenTelemetry .NET APIs
APIs
• OpenTelemetry .NET API Doc
• Tracing API、Logging API、Metrics API、Baggage API
Activity API
• .NET 5.0
• Dependency on DiagnosticSource (System.Diagnostics.DiagnosticSource)
• Activity class which makes it more closely aligned with OpenTelemetry API specification.
• Optional
• Populate tags
• Events、status
• Actitibies、ActitityKind
• Links
Comparing Tracing API
var tracer =
TracerProvider.Default.GetTracer("name
", "version"
OpenTelemetry API .NET Activity API
Action
var activitySource = new
ActivitySource("name", "version")
tracer.StartActiveSpan() activitySource.StartActivity()
Tracer.Current Activity.Current
span.Name activity.DisplayName
OpenTelemetry.Trace.TelemetrySpan System.Diagnostics.Activity
TracerProvider
Tracer
Span
Demo
• WeatherForecast
• Random Weather Data
Scenario
• Client : Web Site (frontend)
• API : WeatherForecast
• Redis : TraceId
Components
• Zipkin
Tracing Platform
Otel.NET Automatic instrumentation
Client
API
Redis
Library
Library
Demo
OpenTelemetry.NET Troubleshooting
OTel Principles
Error handle
• EventSource (System.Diagnostics.Tracing)
• create a configuration file named OTEL_DIAGNOSTICS.json
• OpenTelemetry implementations MUST NOT throw unhandled exceptions at run time.
• All OpenTelemetry libraries -- the API, SDK, exporters, instrumentations, etc. -- are encouraged to expose self-
troubleshooting metrics, spans, and other telemetry that can be easily enabled and filtered out by .
• OpenTelemetry Specification
Measure
“ ”
Metrics, tracing, and logging
Reference : Metrics, tracing, and logging
Tech Radar – Observability Report
Reference : CNCF End User Technology Radar: Observability, September 2020
1. The most commonly
adopted tools are open
source.
2. There’s no
consolidation in the
observability space..
3. Prometheus and
Grafana are frequently
used together.”
Observability Tool - SigNoz
• Open source Observability platform
• Popular & young project (5515 stars)
• Metrics + Traces in single pane
• Powerful trace filtering and aggregation capbiliyies
• Open source you control the data
• Supports OpenTelemetry instrumentation
Demo
• 解決甚麼 問題
• 滿足什麼 需求
• 帶來甚麼 價值
The nature of problems
How - your process
What - your result
Why - your purpose
解決方案的目的
Reference : 黃金圈理論
Take away
“ ”
Observability
• Cloud Native 監控的挑戰
• 可觀測性(Observability)
• Observability vs Monitor
OTel x .NET
• APIs、SDK
• Instrumentation
• Demo x3
OpenTelemetry
• 可觀察性的新標準
• 檢測、生成、收集資料
• Context Propagation
Re-Think
• OpenTelemetry 不是萬靈丹
• Structured Logging
• 問題的本質
Take away
工欲善其事,必先利其器
Thank You !
Does anyone have
any question ?
OpenTelemetrySample
Referrnce Link list
marcus tung
m@rcus 學習筆記
{ Will 保哥。everyone }

初探 OpenTelemetry - 蒐集遙測數據的新標準

  • 1.
    Marcus @ Will保哥的技術交流中心
  • 2.
  • 3.
  • 4.
  • 5.
    Virtualization Cloud Orchestration Containers Serverless/ FaaS Monolith N - tier SOA Microservices Challenge Infrastructure Cloud native infrastructure is more than servers, network, and storage in the cloud—it is as much about operational hygiene as it is about elasticity and scalability. FaaS That provides a platform allowing customers to develop, run, and manage application functionalities without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app Architectures Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations. Complexity low Reference : Hunting for Evil with the Elastic Stack Complexity high
  • 6.
    Virtualization Cloud Orchestration Containers Serverless/ FaaS Monolith N - tier SOA Microservices Challenge Infrastructure Cloud native infrastructure is more than servers, network, and storage in the cloud—it is as much about operational hygiene as it is about elasticity and scalability. FaaS That provides a platform allowing customers to develop, run, and manage application functionalities without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app Architectures Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations. Reference : Hunting for Evil with the Elastic Stack Monitoring Complexity Complexity low Complexity high
  • 7.
    Troubleshooting 你要如何在 最短 時間恢復? • Network is Reliable • Latency is Zero • Bandwidth is Infinite • Network is Secure • Topology doesn't change • There is one administrator • Transport cost is zero • Network is homogeneous
  • 8.
    案例 : 10/4Meta facebook 大當機 Reference : 臉書全球當機7小時!故障原因找到了
  • 9.
    • 影響時間 :6 小時 • 影響人數 : 八千萬人 • 損失金額 : 10 億台幣 • 影響股價 : 4.89 % Meta 服務中斷 orem Ipsum is simply dummy text of the printing and orem Ipsum is simply dummy text of the printing and orem Ipsum is simply dummy text of the printing and orem Ipsum is simply dummy text of the printing and orem Ipsum is simply dummy text of the printing and
  • 10.
  • 11.
  • 12.
    The Pillars Observability isa measure of how well internal states of a system can be inferred from knowledge of its external outputs.
  • 13.
  • 14.
    Data Available Understanding Unknown Knowns •Things we understand but are not aware of • “We implemented an orchestrator to ensure the system is always running” Unknown UnKnowns • Things we are neither aware of nor Understand • “Instances churn because the orchestrator restarts the process when it approaches its memory limit, causing sporadic failures and slowdowns” Known Knowns • Things we are aware of and understand • “The system has a 1GB memory limit” Known UnKnowns • Things we are aware of but don’t • Understand • “The system exceeded its memory limit • and crashed, causing an outage” Reference : Microservice Observability
  • 15.
    Data Available Understanding Unknown Knowns Thereare many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form. Unknown Knowns There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form. Known Knowns There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form. Known UnKnowns There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form. ASSUMPTIONS DISCOVERIES FACTS HYPOTHESES Reference : Microservice Observability
  • 16.
    Data Available Understanding Unknown Knowns Thereare many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form. Known UnKnowns There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form. Observability DISCOVERIES Monitoring HYPOTHESES Reference : Microservice Observability
  • 17.
    Difference Monitoring Observability will get youinformation about your system and let you know if there’s a failure grants an easy way of understanding where and why that failure happened, and what caused it. Reference : Monitoring in the time of Cloud Native
  • 18.
    How to collectdata that will provide observability? “ ”
  • 19.
  • 20.
    2nd Most activeCNCF project Reference : CNCF Dev Stats
  • 21.
    Precursor of OpenTelemetry Thenext major version of both OpenCensus and OpenTracing “ ” OpenCensus OpenTracing OpenTelemetry
  • 22.
    Trends in TracingStandards Reference : Construction and Operation of Observability Platform using Istio
  • 23.
    OpenTelemetry overview Interop formats w3ctrace-context, write formats for observability Collector The OpenTelemetry Collector is a vendor-adgnostic proxy that can receive, process, and export telemetry data. It supports receiving telemetry data in multiple formats (e.g., OTLP, Jaeger, Prometheus, as well as many and sending data to one or more backends. The Cloud Native Computing Foundation (CNCF) hosts critical components of the global technology infrastructure. CNCF brings together the world’s top developers, end users. APIs Defines data types and operations for generating and correlating tracing, metrics, and logging data. OpenTelemetry
  • 24.
    OpenTelemetry overview • Singleset of APIs for tracing and metrics collection • Integrations with popular web, RPC and storage frameworks • Standardized Context Propagation • Exporters for sending data to backend of choice Reference : OpenTelemetry Overview
  • 25.
    Context Propagation • traceID: identifier of the span context • spanID : the span identifier of the span context. • traceFlags : the trace options for the span context. • traceState : the trace state for the span context. Span Context Using HTTP request context to pass metadata between services OpenTelemetry support protocols • W3C Trace-Context HTTP Propagator • W3C Correlation-Context HTTP Propagator • B3 Zipkin HTTP Propagator. Propagation Single Transaction Service Service Storage Service Storage Service Storage Service Service
  • 26.
    Traces with OpenTelemetry Definedimplicitly by its spans. A trace can be thought of as a directed acyclic graph of spans where the edges between spans are defined as parent/child relationships. Trace Represents a single unit of work in a system. Span Individual unit of work done within a distributed system. Spans generally have a name, and a start and end timestamp. Parent Trace Spans
  • 27.
    • http.status_code • http.url Tags "http.status_code":500, "http.url": "http://example.com", "my.custom.application.tag": "hello", Tags "service.name": "donut_shop", "service.version": "2.0.0", "k8s.pod.uid": "1138528c-c36e-11e9-a1a7-42010a800198", Logs "TraceId": "f4dbb3edd765f620 "SpanId": "43222c2d51a7abe3", "SeverityText": "INFO", "SeverityNumber": 9, "Body": "20200415T072306-0700 INFO I like donuts" Span Context • service.name • service.version • Custom tag Logs • traceID : identifier of the span context • spanID : the span identifier of the span context. Span Context Logs with OpenTelemetry
  • 28.
  • 29.
  • 30.
    Exporter • Azure ApplicationInsights • Azure Monitor Collector SDK It implements the Tracing API, the Metrics API, and the Context API. This SDK also supports ILogger integration. Instrumentation libraries • ASP.NET、ASP.NET Core • Grpc.Net.Client、HTTP clients • Redis client、SQL client • …etc APIs • Tracing (1.0) • Metrics (Alpha) • Logging (Beta) OpenTelemetry in .NET OpenTelemetry
  • 31.
    OpenTelemetry Architecture Application OpenTelemetry API Exporter API API 3rdLibrary 3rd Library Protocol | Extensibility Minimal Implementation Log, Metrics, Tracing etc Prometheus Jaeger Zipkin SigNoz SDK Collector Receive Core functionality Span scope, context propagation w3c standard etc Telemetry data Receive Process Receive Export OTLP OTLP
  • 32.
    OpenTelemetry Architecture Application OpenTelemetry API Exporter API API 3rdLibrary 3rd Library OpenTelemetry Protocol (OTLP) OTLP is a protocol based on requests and responses, for example the client sends requests and the server corresponds with responses. gRPC / HTTP Minimal Implementation Log, Metrics, Tracing etc Prometheus Jaeger Zipkin SigNoz SDK Collector Receive Core functionality Span scope, context propagation w3c standard etc Telemetry data Receive Process Receive Export OTLP OTLP
  • 33.
    OpenTelemetry Architecture Application OpenTelemetry API Exporter API API 3rdLibrary 3rd Library Protocol | Extensibility Minimal Implementation Log, Metrics, Tracing etc Prometheus Jaeger Zipkin SigNoz SDK Collector Receive Core functionality Span scope, context propagation w3c standard etc Telemetry data Receive Process Receive Export OTLP OTLP link : OpenTelemetry Registry
  • 34.
    Package with OpenTelemetry Metrics •System.Diagnostics.Metrics.Counter • System.Diagnostics.Metrics.Observablecounter • System.Diagnostics.Metrics.Histogram • System.Diagnostics.Metrics.Observablegauge Exporter • OpenTelemetry.Exporter.Jaeger • OpenTelemetry.Exporter.Console • OpenTelemetry.Exporter.Zipkin • OpenTelemetry.Exporter.Prometheus • Microsoft.OpenTelemetry.Exporter.AzureMonitor Instrumentation • OpenTelemetry.Instrumentation.AspNet • OpenTelemetry.Instrumentation.AspNetCore • OpenTelemetry.Instrumentation.Http • OpenTelemetry.Instrumentation.SqlClient • OpenTelemetry.Instrumentation.StackExchangeR edis Tracing • System.Diagnostics.ActivitySource • System.Diagnostics.Activity (Span)
  • 35.
  • 36.
    OpenTelemetry .NET APIs APIs •OpenTelemetry .NET API Doc • Tracing API、Logging API、Metrics API、Baggage API Activity API • .NET 5.0 • Dependency on DiagnosticSource (System.Diagnostics.DiagnosticSource) • Activity class which makes it more closely aligned with OpenTelemetry API specification. • Optional • Populate tags • Events、status • Actitibies、ActitityKind • Links
  • 37.
    Comparing Tracing API vartracer = TracerProvider.Default.GetTracer("name ", "version" OpenTelemetry API .NET Activity API Action var activitySource = new ActivitySource("name", "version") tracer.StartActiveSpan() activitySource.StartActivity() Tracer.Current Activity.Current span.Name activity.DisplayName OpenTelemetry.Trace.TelemetrySpan System.Diagnostics.Activity TracerProvider Tracer Span
  • 38.
  • 39.
    • WeatherForecast • RandomWeather Data Scenario • Client : Web Site (frontend) • API : WeatherForecast • Redis : TraceId Components • Zipkin Tracing Platform Otel.NET Automatic instrumentation Client API Redis Library Library
  • 40.
  • 41.
    OpenTelemetry.NET Troubleshooting OTel Principles Errorhandle • EventSource (System.Diagnostics.Tracing) • create a configuration file named OTEL_DIAGNOSTICS.json • OpenTelemetry implementations MUST NOT throw unhandled exceptions at run time. • All OpenTelemetry libraries -- the API, SDK, exporters, instrumentations, etc. -- are encouraged to expose self- troubleshooting metrics, spans, and other telemetry that can be easily enabled and filtered out by . • OpenTelemetry Specification
  • 42.
  • 43.
    Metrics, tracing, andlogging Reference : Metrics, tracing, and logging
  • 44.
    Tech Radar –Observability Report Reference : CNCF End User Technology Radar: Observability, September 2020 1. The most commonly adopted tools are open source. 2. There’s no consolidation in the observability space.. 3. Prometheus and Grafana are frequently used together.”
  • 45.
    Observability Tool -SigNoz • Open source Observability platform • Popular & young project (5515 stars) • Metrics + Traces in single pane • Powerful trace filtering and aggregation capbiliyies • Open source you control the data • Supports OpenTelemetry instrumentation
  • 46.
  • 47.
    • 解決甚麼 問題 •滿足什麼 需求 • 帶來甚麼 價值 The nature of problems How - your process What - your result Why - your purpose 解決方案的目的 Reference : 黃金圈理論
  • 48.
  • 49.
    Observability • Cloud Native監控的挑戰 • 可觀測性(Observability) • Observability vs Monitor OTel x .NET • APIs、SDK • Instrumentation • Demo x3 OpenTelemetry • 可觀察性的新標準 • 檢測、生成、收集資料 • Context Propagation Re-Think • OpenTelemetry 不是萬靈丹 • Structured Logging • 問題的本質 Take away 工欲善其事,必先利其器
  • 50.
    Thank You ! Doesanyone have any question ? OpenTelemetrySample Referrnce Link list marcus tung m@rcus 學習筆記 { Will 保哥。everyone }