일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- vm번역기
- InnoDB
- APM 만들기
- 실시간 스트리밍 데이터
- vm머신
- 밑바닥부터 만드는 컴퓨팅 시스템
- nandtotetris
- ec2
- jack 문법
- apm
- SpanId
- 핵심 데이터 모델링
- 분산추적
- 시간 윈도우
- 구문 분석
- 메모리 세그먼트
- s3
- 스트리밍 아키텍쳐
- 스트리밍 데이터 아키텍쳐
- 텀블링 윈도우
- 피벗 추적
- MySQL
- OTEL
- 추적 데이터 마이닝 파이프라인
- Terraform
- 리눅스
- 컴퓨터 아키텍쳐
- 마운트
- 도커
- 스택머신
- Today
- Total
목록APM만들기 5
이것이 점프 투 공작소
추적 시스템에서 데이터 마이닝은 필수적인 작업입니다.마이닝 작업 중 가장 보편적이고 구현하기 쉬운 작업 중 하나인 '피쳐 추출' 시스템과 각 요소들에 대해 간단히 알아보려고 합니다.피쳐란?'피쳐(feature)'는 단일 스팬에서 계산할 수 없는 하나 이상의 값을 계산하는 프로세스를 의미합니다.피쳐 데이터들은 어떤게 있을까?피쳐는 거의 실시간으로 계산됩니다.따라서 APM은 이를 시계열로 보거나 추세를 모니터링하거나 경보를 제공하게 됩니다.피쳐로 추출되어 보여지는 대표적인 데이터들은 아래와 같습니다.추적의 총 대기 시간추적 시간 시간스팬 수네트워크 호출 횟수루트 서비스 및 해당 엔드포인트 이름클라이언트 타입대기 시간 분석: CDN, 백엔드, 네트워크, 스토리지 등다양한 메타데이터: 클라이언트 호출 발신 ..

피벗 추적이란?분산 추적 시스템 내부의 계측 가능한 한 지점에서 측정값을 정의하고.다른 지점에서 지정한 그 값을 기반으로 선택,필터링,그룹화 하여 클라이언트에서 전체 시스템을 관측 할 수 있게 하는 기능입니다. 예를 들어 아래 쿼리는 HBase,맵리듀스,HDFS 클라이언트를 실행하는 다른 클라이언트의 요청을 처리하는 HDFS 데이터 노드에 적용되는 쿼리입니다.즉 분산 시스템 내부에서 "클라이언트가 얼마나 데이터를 읽었는지"를 추적하기 위한 코드입니다.FROM bytesRead IN DataNodeMetrics.incrBytesReadJOIN client IN FIRSTClientProtocols ON client => bytesReadGROUP BY client.procNameSELECT cleint..

APM에서는 어플리케이션의 모든 요청을 다 추적하고 분석하지 않습니다.추적 데이터는 실제 어플리케이션의 비즈니스 트래픽을 쉽게 초과할 수 있으며, 이는 서비스에 영향을 주게됩니다. 요청을 100% 샘플링한다면 대퍼 추적기는 검색 작업에 대해 1.5%의 처리량과 16%의 시간지연 오버헤드가 발생한다고 합니다.그렇기에 추적 시스템들은 추적의 특정 부분만을 캡쳐하기위해 샘플링을 사용합니다.만약 추적의 0.01%만 캠쳐하도록 샘플링하면 처리량 오버헤드는 0.06%, 응답시간은 0.20% 감소한다고 합니다. 따라서 적절한 양의 요청들을 샘플링하는건 분산추적 어플리케이션에서 매우 중요한 요소입니다.헤드 기반head−based 샘플링upfront sampling이라고도 하며, 들어오는 각각 추적들에 대해서 매번 ..
회사에서 분산추적APM을 사용하며 가장 궁금했던 부분은,'다른 프로세스, 외부 서비스간 이동이 발생이 있었는데, 어떻게 하나의 추적이라고 계속 인식하는거지?' 였습니다.오픈소스인 OTel 자바 프로젝트를 통해 분산추적 구현의 중요한 챕터 중 하나인 Context 전파에 대해서 알아보려고 합니다. https://github.com/open-telemetry/opentelemetry-java-instrumentation GitHub - open-telemetry/opentelemetry-java-instrumentation: OpenTelemetry auto-instrumentation and instrumentation libraries forOpenTelemetry auto-instrumentation ..

APM을 직접 만들어 저의 사이드 프로젝트들에 쓰고싶다는 작은 소망이 있었습니다.지금부터 APM을 만들기 위한 공부들과 만드는 과정들을 같이 포스팅하려고 합니다.화이팅 첫번째로 CNCF 표준이자 분산 추적 프레임워크인 OpenTelemetry, OTel의 구조와 핵심 구성요소Trace, Span, Baggage, Metric, Log 에 대해 알아보겠습니다.OTel이란?이전에 분산추적을 구현하는 방식은 매우 다양했고 대부분 직접 만들어 사용했기에 각 서비스들에 종속되어 있는 방식이었습니다.시간이 지날수록 표준의 필요성이 느껴지게 되었고 두가지 오픈 소스가 만들어졌습니다. 하나는 구글의 내부 라이브러리 집합인 센서스Census에서 시작된 오픈센서스OpenCensus하나는 CNCF 프로젝트인 Open..