pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • microservice...
TRANSCRIPT
![Page 1: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/1.jpg)
김성욱정현길
Pinpoint 로어플리케이션에대한
Naver 수준의가시성확보하기
![Page 2: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/2.jpg)
• Microservice Architecture• Observability in Naver• Enhance Observability with Pinpoint• Open source Pinpoint• Open source Community• Troubleshooting Distributed Systems• How Pinpoint Works• Troubleshooting with Pinpoint• Future Plans
Index
![Page 3: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/3.jpg)
Microservice Architecture
Microservice Architecture
![Page 4: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/4.jpg)
Microservice Architecture
● Development
● Maintenance
● Reliability
● Scalability
● Cost
● Deployment
● Releasing
![Page 5: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/5.jpg)
Microservice Architecture
● Development
● Maintenance
● Reliability
● Scalability
● Cost
● Deployment
● Releasing
![Page 6: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/6.jpg)
Microservice Architecture
● Development
● Maintenance
● Reliability
● Scalability
● Cost
● Deployment
● Releasing
Microservice-based architectures facilitate continuous delivery and deployment.
![Page 7: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/7.jpg)
Microservice Architecture
https://dzone.com/articles/right-strategies-for-microservices-deployment
![Page 8: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/8.jpg)
Microservice Architecture
![Page 9: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/9.jpg)
Microservice Architecture
Cloud Platform
Messenger
Search Engine
Cryptocurrency Market
R & D Center
Camera Mobile App
Webtoon Platform
AI Speaker
Business Platform
Video Streaming Service
![Page 10: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/10.jpg)
Microservice Architecture
● Deployment Management
● Debugging
![Page 11: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/11.jpg)
Microservice Architecture
● Deployment Management
● Debugging
![Page 12: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/12.jpg)
Microservice Architecture
![Page 13: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/13.jpg)
Microservice Architecture
![Page 14: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/14.jpg)
Microservice Architecture
![Page 15: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/15.jpg)
Microservice Architecture
● Deployment Management
● Debugging
![Page 16: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/16.jpg)
Observability in Naver
● Deployment Management
● Debugging
Observability↑
![Page 17: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/17.jpg)
Observability in Naver
Tracing
Logging Metric
Observability
![Page 18: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/18.jpg)
Logging
Observability in Naver
Tracing
Metric
Observability
그리고사람
![Page 19: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/19.jpg)
Observability in Naver
Tracing
Metric
Observability
Logging
![Page 20: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/20.jpg)
Observability in Naver
Tracing
Logging Metric
Observability
![Page 21: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/21.jpg)
Logging
Observability in Naver
Tracing
Metric
Observability
![Page 22: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/22.jpg)
Logging
Observability in Naver
Tracing
Metric
Observability
![Page 23: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/23.jpg)
Logging
Observability in Naver
Tracing
Metric
Observability
![Page 24: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/24.jpg)
Enhance Observability
Bird Eye ViewFinding Slow TransactionsDistributed TracingDevOpsScalableMinimum Overload
![Page 25: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/25.jpg)
Bird Eye View
• Server Map
![Page 26: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/26.jpg)
Bird Eye View
• Server Map
![Page 27: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/27.jpg)
Bird Eye View
• Server Map
![Page 28: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/28.jpg)
Bird Eye View
![Page 29: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/29.jpg)
Bird Eye View
![Page 30: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/30.jpg)
Bird Eye View
![Page 31: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/31.jpg)
Enhance Observability
Bird Eye ViewFinding Slow TransactionsDistributed TracingDevOpsScalableMinimum Overload
![Page 32: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/32.jpg)
Finding Slow Transaction
• Scatter Chart
Response Timeof each
Transaction
Date & Time
![Page 33: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/33.jpg)
Finding Slow Transaction
![Page 34: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/34.jpg)
Finding Slow Transaction
Slow Transactions
![Page 35: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/35.jpg)
Finding Slow Transaction
![Page 36: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/36.jpg)
Finding Slow Transaction
![Page 37: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/37.jpg)
Finding Slow Transaction
![Page 38: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/38.jpg)
Finding Slow Transaction
• Malfunctioning in Real Server
![Page 39: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/39.jpg)
Finding Slow Transaction
• Malfunctioning in Real Server
![Page 40: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/40.jpg)
Finding Slow Transaction
• Malfunctioning in Real ServerReboot
![Page 41: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/41.jpg)
Finding Slow Transaction
• Response Summary chart
• Load chart
![Page 42: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/42.jpg)
Enhance Observability
Bird Eye ViewFinding Slow TransactionsDistributed TracingDevOpsScalableMinimum Overload
![Page 43: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/43.jpg)
Finding Slow Transaction
![Page 44: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/44.jpg)
Distributed Tracing
List of Selected Transaction
The Call Stack with Code Level
• Call Stack
![Page 45: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/45.jpg)
Distributed Tracing
![Page 46: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/46.jpg)
Distributed Tracing
![Page 47: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/47.jpg)
Distributed Tracing
![Page 48: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/48.jpg)
Enhance Observability
Bird Eye ViewFinding Slow TransactionsDistributed TracingDevOpsScalableMinimum Overload
![Page 49: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/49.jpg)
DevOps
Can be used as HealthCheck
• Realtime Active Thread Chart
![Page 50: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/50.jpg)
DevOps
![Page 51: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/51.jpg)
DevOps
![Page 52: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/52.jpg)
DevOps
![Page 53: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/53.jpg)
DevOps
![Page 54: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/54.jpg)
DevOps
Clean =
![Page 55: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/55.jpg)
DevOps
• Heap, Non-Heap Memory• JVM/SYSTEM CPU• JVM GC• TPS, Active Thread• Response Time• File Descriptor• Direct/Mapped Buffer• Data Source
Basic Info of the Instance
• Inspector
![Page 56: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/56.jpg)
Enhance Observability
Bird Eye ViewFinding Slow TransactionsDistributed TracingDevOpsScalableMinimum Overload
![Page 57: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/57.jpg)
Scalable
collectorcollectorcollectorcollector Hbase
Application
agent
Application
agent
70 billion Span Chunk
(trace segment) per day
.
.
.
• Fully functioning in Naver
Application
agent
![Page 58: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/58.jpg)
Scalable
collectorcollectorcollectorcollector Hbase
70 billion Span Chunk
(trace segment) per day
63 region server17 CollectorsApplication
agent
Application
agent
.
.
.
• Fully functioning in Naver
Application
agent
12,000+ Pinpoint Agent
![Page 59: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/59.jpg)
12,000+ Pinpoint Agent
Scalable
collectorcollectorcollectorcollector Hbase
70 billion Span Chunk
(trace segment) per day
63 region server17 CollectorsApplication
agent
Application
agent
.
.
.
• Fully functioning in Naver
Application
agent
Peek TPS : 870K Write TPS : 1M1,800+ Application
![Page 60: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/60.jpg)
12,000+ Pinpoint Agent
Scalable
collectorcollectorcollectorcollector Hbase
x 470 billion Span Chunk
(trace segment) per day
63 region server17 CollectorsApplication
agent
Application
agent
.
.
.
• Fully functioning in Naver
Application
agent
Peek TPS : 870K Write TPS : 1M1,800+ Application
![Page 61: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/61.jpg)
Enhance Observability
Bird Eye ViewFinding Slow TransactionsDistributed TracingDevOpsScalableMinimum Overload
![Page 62: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/62.jpg)
Minimum Overload
• Execute Integration Tests Periodically
- Less than 3% difference in performance
- Sampling ‘No-Agent’, ‘5%’, ‘100%’
![Page 63: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/63.jpg)
Open Source Pinpoint
2012.07 DevelopmentStart
2014.01 First useof Pinpoint
2014.12 90% teams switched fromcommercial APM
2015.01 Startingopen source
2017.12 Reached5000 stars
![Page 64: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/64.jpg)
Open Source Pinpoint
![Page 65: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/65.jpg)
Open Source Pinpoint
![Page 66: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/66.jpg)
Open Source Pinpoint
• Lost of Top 10 IT companies in China• Global enterprises in Korea• Various IT companies in USA• Companies in Financial Industry
![Page 67: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/67.jpg)
Open Source Community
![Page 68: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/68.jpg)
Open Source Community
![Page 69: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/69.jpg)
Open Source Community
![Page 70: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/70.jpg)
Open Source Community
![Page 71: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/71.jpg)
Open Source Community
![Page 72: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/72.jpg)
Open Source Community
![Page 73: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/73.jpg)
Open Source Community
![Page 74: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/74.jpg)
Open Source Community
![Page 75: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/75.jpg)
Open Source Community
GOOD HOSTING!!!!
![Page 76: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/76.jpg)
Open Source Community
![Page 77: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/77.jpg)
Open Source Community
![Page 78: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/78.jpg)
Open Source Community
![Page 79: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/79.jpg)
Open Source Community
![Page 80: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/80.jpg)
Open Source Community
![Page 81: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/81.jpg)
Microservice Challenges
More areas that can fail
99% success rate over 10 components -> 90.5% success rate
Network error much more relevant
Increase in latency
1s 99th percentile over 10 components -> approx. 80th percentile
Observability greatly reduced
Individual servers does not tell the whole story
Traditional way of troubleshooting no longer works
![Page 82: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/82.jpg)
Troubleshooting Microservices
USER ApiGateway Shopping-API
Auth. etc
![Page 83: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/83.jpg)
USER ApiGateway Shopping-API
Your API is slow
Troubleshooting Microservices
![Page 84: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/84.jpg)
Troubleshooting Microservices
![Page 85: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/85.jpg)
Troubleshooting Microservices
USER ApiGateway
Order
Product
Shopping-API
![Page 86: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/86.jpg)
Troubleshooting Microservices
USER ApiGateway
Order
Product
Shopping-API ???
??? ???
???
???
???
???
![Page 87: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/87.jpg)
Troubleshooting Microservices
USER ApiGateway
Order
Product
???
??? ???
???
???
???
???
GET /shopping/products/12345
POST /shopping/orders
Distributed Transactions
Shopping-API
![Page 88: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/88.jpg)
Troubleshooting Microservices
@honest_update 트위터
www.slideshare.net/alvarosanchezmariscal/stateless-authentication-for-microservices
![Page 89: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/89.jpg)
So what do we need?
Context
Identify as part of the same request within a single service instance
Identify as part of the same transaction within distributed service instances
Context propagation across thread, or process boundary
Order
Timestamp not enough
Distributed Nodes - time skew
Asynchronous Processing - delayed execution
Structure
Order - 1 dimensional
Call tree requires depth as well
![Page 90: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/90.jpg)
Pinpoint
Call Stack Trace
Traces everything that happens in a single instance
Context propagated via thread-local
Order and structure inherently provided by emulating the call stack
Distributed Transaction Trace
Stitches multiple call stacks under the same transaction
Context propagated via RPC
Order and structure via parent-child relationship of distributed call stacks
![Page 91: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/91.jpg)
Server Map
![Page 92: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/92.jpg)
Server Map
![Page 93: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/93.jpg)
Server Map
![Page 94: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/94.jpg)
Server Map
![Page 95: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/95.jpg)
Server Map
![Page 96: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/96.jpg)
Distributed Call Tree
![Page 97: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/97.jpg)
Distributed Call Tree
![Page 98: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/98.jpg)
Distributed Call Tree
HttpClient.execute()
![Page 99: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/99.jpg)
Distributed Call Tree
HttpClient.execute()
![Page 100: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/100.jpg)
Distributed Call Tree
HttpClient.execute()
Tomcat.receive()
Tomcat.receive()
![Page 101: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/101.jpg)
Distributed Call Tree
FRONT-WEB
BACKEND-WEB
![Page 102: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/102.jpg)
How it all works
Call Stack Trace
Distributed Transaction Trace
![Page 103: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/103.jpg)
Call Stack Trace
invoke(); -> doGet(); -> demo2();
![Page 104: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/104.jpg)
Call Stack Trace
invoke(); -> doGet(); -> demo2();
doGet() {
demo2();
}
demo2() {
}
invoke() {
doGet();
}
![Page 105: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/105.jpg)
Call Stack Trace
invoke() {
doGet();
}
invoke(); -> doGet(); -> demo2();
doGet() {
demo2();
}
demo2() {
}
invoke() {
doGet() {
demo2() {
}
}
}
![Page 106: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/106.jpg)
Call Stack Trace
invoke() {
doGet();
}
invoke(); -> doGet(); -> demo2();
doGet() {
demo2();
}
demo2() {
}
invoke() {
doGet() {
demo2() {
}
}
}demo2()
doGet()
invoke()
![Page 107: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/107.jpg)
Depth
Call Stack Trace
demo2()
doGet()
invoke()
Sequence
0
1
2
![Page 108: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/108.jpg)
Call Stack Trace
Sequence
0
1
2
Depth
0
1
2demo2()
doGet()
invoke()
![Page 109: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/109.jpg)
Call Stack Trace
Sequence
0
1
2
Depth
0
1
2demo2()
doGet()
invoke()
Sequence
0
1
2
Depth
0
1
1demo2()
doGet()
invoke()
![Page 110: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/110.jpg)
Call Stack Trace
foo() {
fooInterceptor.before();
…
fooInterceptor.after();
}
![Page 111: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/111.jpg)
Call Stack Trace
invoke() {
invokeInterceptor.before();
doGet() {
doGetInterceptor.before();
demo2() {
demo2Interceptor.before();
demo2Interceptor.after();
}
doGetInterceptor.after();
}
invokeInterceptor.after();
}
![Page 112: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/112.jpg)
Call Stack Trace
invoke() {
invokeInterceptor.before();
doGet() {
doGetInterceptor.before();
demo2() {
demo2Interceptor.before();
demo2Interceptor.after();
}
doGetInterceptor.after();
}
invokeInterceptor.after();
}
Seq. Event Depth
3
2
1
0 invoke() 0
before()
Increment sequence
Push on to the call stack
push
![Page 113: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/113.jpg)
Call Stack Trace
invoke() {
invokeInterceptor.before();
doGet() {
doGetInterceptor.before();
demo2() {
demo2Interceptor.before();
demo2Interceptor.after();
}
doGetInterceptor.after();
}
invokeInterceptor.after();
}
Seq. Event Depth
3
2
1 doGet() 1
0 invoke() 0
before()
Increment sequence
Push on to the call stack
push
![Page 114: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/114.jpg)
Call Stack Trace
invoke() {
invokeInterceptor.before();
doGet() {
doGetInterceptor.before();
demo2() {
demo2Interceptor.before();
demo2Interceptor.after();
}
doGetInterceptor.after();
}
invokeInterceptor.after();
}
Seq. Event Depth
3
2 demo2() 2
1 doGet() 1
0 invoke() 0
before()
Increment sequence
Push on to the call stack
push
![Page 115: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/115.jpg)
Call Stack Trace
invoke() {
invokeInterceptor.before();
doGet() {
doGetInterceptor.before();
demo2() {
demo2Interceptor.before();
demo2Interceptor.after();
}
doGetInterceptor.after();
}
invokeInterceptor.after();
}
Seq. Event Depth
3
2
1 doGet() 1
0 invoke() 0
after()
Pop off the call stack
Buffer to write queue
pop
Write Queue
demo2()
![Page 116: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/116.jpg)
Call Stack Trace
invoke() {
invokeInterceptor.before();
doGet() {
doGetInterceptor.before();
demo2() {
demo2Interceptor.before();
demo2Interceptor.after();
}
doGetInterceptor.after();
}
invokeInterceptor.after();
}
Seq. Event Depth
3
2
1
0 invoke() 0
after()
Pop off the call stack
Buffer to write queue
Write Queue
demo2()
pop
doGet()
![Page 117: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/117.jpg)
Call Stack Trace
invoke() {
invokeInterceptor.before();
doGet() {
doGetInterceptor.before();
demo2() {
demo2Interceptor.before();
demo2Interceptor.after();
}
doGetInterceptor.after();
}
invokeInterceptor.after();
}
Seq. Event Depth
3
2
1
0
after()
Pop off the call stack
Buffer to write queue
Write Queue
demo2()
pop
doGet() invoke()
![Page 118: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/118.jpg)
Call Stack Trace
Sequence
0
1
2
Depth
0
1
2demo2()
doGet()
invoke()
![Page 119: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/119.jpg)
Distributed Transaction Trace
Node 1 Node 2
Node 4
Node 3RPC 2
RPC 1
RPC 3
Find out the relationship between nodes connected by RPCs for a given transaction
Trace tag added to each requests
- HTTP : HttpHeader
![Page 120: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/120.jpg)
Distributed Transaction Trace
Node 1 Node 2
Node 4
Node 3RPC 2
RPC 1
RPC 3
TraceId
- TransactionId
- SpanId
- Parent SpanId
TxId = Node1^Time^1
SpanId = 1
Parent SpanId = -1
TxId = Node1^Time^1
SpanId = 2
Parent SpanId = 1
TxId = Node1^Time^1
SpanId = 3
Parent SpanId = 2
TxId = Node1^Time^1
SpanId = 4
Parent SpanId = 2
![Page 121: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/121.jpg)
Distributed Transaction Trace
Node 1 Node 2
Node 4
Node 3RPC 2
RPC 1
RPC 3
TransactionId (TxId)
Globally unique ID for a single transaction
TxId = Node1^Time^1
SpanId = 1
Parent SpanId = -1
TxId = Node1^Time^1
SpanId = 2
Parent SpanId = 1
TxId = Node1^Time^1
SpanId = 3
Parent SpanId = 2
TxId = Node1^Time^1
SpanId = 4
Parent SpanId = 2
![Page 122: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/122.jpg)
Distributed Transaction Trace
Node 1 Node 2
Node 4
Node 3RPC 2
RPC 1
RPC 3
TxId = Node1^Time^1
SpanId = 1
Parent SpanId = -1
TxId = Node1^Time^1
SpanId = 2
Parent SpanId = 1
TxId = Node1^Time^1
SpanId = 3
Parent SpanId = 2
TxId = Node1^Time^1
SpanId = 4
Parent SpanId = 2SpanId, Parent SpanId
Id used to encode parent-child relationship between nodes
![Page 123: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/123.jpg)
Distributed Call Tree
![Page 124: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/124.jpg)
Troubleshooting with Pinpoint
USER ApiGateway Shopping-API ???
Let’s troubleshoot our system using Pinpoint
(There’s a link @ www.github.com/naver/pinpoint)
![Page 125: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/125.jpg)
Troubleshooting with Pinpoint
![Page 126: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/126.jpg)
Future plans
![Page 127: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/127.jpg)
Future Plans
![Page 128: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/128.jpg)
Future Plans
![Page 129: Pinpoint 로어플리케이션에대한 2_1630_2.pdf · 2019-10-30 · • Microservice Architecture • Observability in Naver • Enhance Observability with Pinpoint • Open source](https://reader035.vdocuments.mx/reader035/viewer/2022070714/5ed58eace4e9005a3e7b0b35/html5/thumbnails/129.jpg)
Thank you
Homepage : https://naver.github.io/pinpointGithub : https://github.com/naver/pinpointTwitter : https://twitter.com/Pinpoint_APM E-mail : [email protected], [email protected]
Q & A