GH GambleHub

API analitikleri we öndürijilik metrikleri

1) Bu näme üçin zerur?

API - platformanyň "gan aýlanyş ulgamy". Berk metriklersiz edip bilmeris:
  • SLO we SLA-nyň ýerine ýetirilendigini subut etmek,
  • soraglaryň geçiriş ukybyny we ykdysadyýetini dolandyrmak,
  • zaýalanmalary çalt lokallaşdyrmak (p99-guýruklar, 5xx partlamalar),
  • işe täsiri boýunça optimizasiýalary ileri tutmak.

Maksat: her bir soragyň perimetrden DB-e çenli umumy kesgitleýjiler we ylalaşylan SLI bilen gözegçilik edilýän ýeke-täk gözegçilik modeli.

2) Metrikleriň taksonomiýasy

Tehniki: RPS, gizlinlik (p50/p95/p99), error rate (4xx/5xx), saturation (CPU, memory, file-desc), queue time.
Önümler: üstünlikli amallar/min, ädimiň öwrülişigi (200/total), rate-limited paýy (429), retralar, ulanyjy segmentleri.
Bahasy: cost/request (CPU-ms + egress + BD-soraglar), çit/endpoint bahasy, $/tenant, $/1k jaňlar.

3) "Altyn signallar": RED we USE

RED (API üçin):
  • Rate - soraglar/sek (endpoint/tenant/meýilnama boýunça).
  • Errors - 4xx/5xx/429 paýlar we absolýutlar.
  • Duration - p50/p95/p99 end-to-end we tapgyrlar boýunça (ingress → app → DB → üçünji tarap).
USE (resurslar üçin):
  • Utilization - CPU/IO/kanaly ýüklemek.
  • Saturation - nobatlar (run-queue, backlog, DB wait).
  • Errors - sürüjileriň/wagtlaryň ýalňyşlyklary.

4) Esasy kesgitlemeler we formulalar

Availability SLI: `1 − (5xx + gateway_timeout) / all_requests`.
Success SLI: '2xx/( all − 429_shadow)' ("kölegeli" bloklardan başga).
Apdex: `(|T≤T| + 0. 5· | T ≤ 4T | )/all ', bu ýerde' T '- maksatly "gowy" bosagasy.
Tail amplification: 'p99 _ total − max (p99_stage_i)' - nobatlaryň/kompozisiýanyň goşandy.
Error budget (aý) -de 99. 9%: 'býudjet = 0. _ Döwrüň% 1 wagty.

latency histogrammalarynyň maslahat berilýän percentil binleri: '[5ms, 10ms, 25ms, 50ms, 100ms, 250ms, 500ms, 1s, 2. 5s, 5s]`.

5) SLI/SLO we burn-rate boýunça alerting

SLO mysaly (köpçülige açyk API):
  • Elýeterlilik: ≥ 99. 9 %/30 gün.
  • p95 latentlik 'GET/wallet/balance' <150 ms; 'POST/payments' <400 ms.
  • Hatalar '5xx' <0. 2%. '429' (gaty) <1% umumy traffigiň.
Burn-rate alertleri (iki penjireli):
  • 1 sagat üçin 2% býudjet ýa-da 6 sagat üçin 5% → page inerener.
  • Günde 10% → RCA-nyň ileri tutulmagy.

6) Metrikler toplumy (ony ýygnamaly)

Perimetrde (şlýuz/WAF):
  • `http_requests_total{route,method,status,tenant,plan}`
  • 'http _ request _ duration _ seconds _ bucket {route,...}' (histogram)
  • `retries_total{reason}`, `rate_limited_total{key,policy}`
  • Beden ölçegleri: 'request _ bytes', 'response _ bytes'
Programmada:
  • `db_client_requests_total{op,table}`, `db_latency_seconds_bucket{op}`
  • 'cache _ ops _ total {op}', hit-rate kesişen daşarky jaňlar: 'outbound _ calls _ total {provider, op}', latency/hatalar/nobat wagtlary/howuzlar: uzynlyklar/gijikdirmeler, işjeň workerler resurs USE: CPU, RSS, FD, GC-arakesmeler

Iş bellikleri: 'tenant _ id', 'region', 'kyc _ level', 'plan', 'feature _ flag'.

7) Yzarlamak we baglanyşyk (OpenTelemetry)

W3C Trace-Context ('traceparent', 'tracestate') ähli hoplarda.
Span-lar tapgyrlar boýunça: ingress → authZ → app handler → DB/Redis → PSP/daşarky.
Attributes/bellikleri: 'http. route`, `enduser. id`, `tenant. id`, `idempotency. key`, `risk. score`.
Exemplars: latency/error grafiklerindäki nokatlary anyk trace-id bilen baglanyşdyryň.

Sampling:
  • "adaty" ýollar üçin head-based 1-10%,
  • guýruklar üçin tail-based (haýal/nädogry alýarys),
  • iň ýokary we hadysalar üçin adaptive.
  • Baggage: 'tenant '/' risk' her bir wakany bellemezden kesmek üçin.

8) Logi: gurluşy we gizlinligi

Gurluşly JSON; Hökmany meýdanlar: 'ts', 'trace _ id', 'span _ id', 'route', 'status', 'latency _ ms', 'tenant', 'user _ id _ hash'.
PII syýasaty: PAN/PII gizläň; syrlary/bellikleri gadagan ediň.
Sampling log: 4xx/5xx/429 we "uzyn" soraglar üçin ýokary.

9) Daşbordlaryň kartoçkasy (iň az toplum)

1. Exec-Summary: RPS, Availability, Error-rate, p95/p99 latency, 429 paý, burn-rate býudjet.
2. Per-Route: RPS/ýalňyşlyklar/guýruklar boýunça iň ýokary endointler; wersiýalary deňeşdirmek (kanareýka).
3. Per-Tenant/Plan: ýük/baha/ýalňyşlyklar boýunça öňdebaryjy.
4. Dependency Health: DB, cache, PSP/daşarky - latency, ýalňyşlyklar, saturation.
5. Capacity: CPU/RAM/FD, nobatlar, connection pool, GC, konteýner çäkleri.
6. Howpsuzlyk/Abuse: 401/403, 429/syýasatlar, geo/ASN bölekleri, retraý partlamalary.

10) Alertler (bosagaly we trendli)

'error _ rate {route}'> 2% (5 minut) we RPS> N → pager.
'p99 _ latency {critical}'> maksat bosagasy (10 minut).
'burn _ rate' býujet boýunça (§ 5 serediň).
DB 'timeouts '/' deadlocks' ýa-da 'queue _ time'> X ms.
Daşarky üpjün edijiler: 'outbound _ 5xx _ rate {provider}'> 1% + SLO-garaşly.

11) Kuwwatly meýilleşdiriş we öndürijilik

Kiçijik kanun: 'L = λ· W' (nobatyň ortaça uzynlygy = traffik × ortaça wagt).
p95 maksadyny goýýarys: 'ingress + app + DB + external + queue'.
Concurrency budget: Bir wagtyň özünde iň ýokary write amallaryny ýazga alýarys.
Budget-metrika: "Haýyş üçin ms CPU"; iň ýokary derejä çenli 30-50% ätiýaçlyk saklaýarys.
rate-limit bilen özara gatnaşyk: kwotanyň "potolok" soraglarynyň paýyny we gizlinlige täsirini ölçäň.

12) Ýükleýiş we sintetiki barlaglar

Görnüşleri: esasy ýük, × 10, "basgançaklar", uzak möhletli platolar, stres/chaos (nod öldürmek, toruň gijikdirilmegi), tankydy müşderi ssenarileri boýunça sintetika.
Profillemek: CPU/alloc/lock-contention, N + 1 (SQL/HTTP), haýal kodlar.
Regreslere gözegçilik: p95/p99/goýberilmezinden öň/soň ýalňyşlyklary deňeşdirmek (kanareýa).

13) Bahasy (Cost-Observability)

Çykdajy ölçegleri: 'cpu _ ms', 'egress _ bytes', 'db _ calls', '$ per 1k requests'.
Endpoint/tenant/fichu üçin allokasiýa: orkestratordan billing bellikleri + ýüküň metrikasy → API unit-ykdysadyýeti boýunça hasabat.
Optimizasiýa algoritmi: 'traffic × cost × (p95 − maksat)' önümi boýunça TOP-endpointleri saýlaýarys.

14) Analitikanyň we "adalatlylygyň" per-tenanty

Ähli esasy metrikler - 'tenant _ id/plan' belligi bilen.
Guýruklarda "agyr" müşderileriň paýy p99; aýry-aýry çäklendirmeler/kwotalar we retraýlaryň býudjetleri.
Adalatly şeýring: artykmaç ýüklenende "gaty" kärendeçileriň paýyny azaldýarys.

15) iGaming/Maliýe aýratynlyklary

Kesmeler 'kyc _ level', 'risk _ tier', 'payment _ method'.
"Pul" ýollary üçin SLI ('POST/deposits', 'POST/withdrawals'): aşakdaky p95 maksatly, aýry-aýry ýalňyşlyk býudjetleri.
Time-to-Wallet metrikleri (TTW), antifrod bilen awtobloklaryň paýy, tölegiň öwrülişigi.
Audit: maliýe hereketleri we antifrod çözgütleri üçin üýtgemeýän žurnallar.

16) Instrumentasiýa: durmuşa geçirmek tejribesi

Metrleriň ady (mysal):
  • `api_http_requests_total` (counter)
  • `api_http_request_duration_seconds` (histogram)
  • `api_outbound_requests_total`, `api_db_query_duration_seconds`
  • `api_rate_limited_total`, `api_retry_total{reason}`

Лейблы: `route`, `method`, `status_class`, `tenant`, `region`, `version`, `canary`, `provider`, `db_table`.
Kardinallyk: Erkin manylardan gaça duruň (user_id), "bakets "/hesh.
Exemplars: p95/p99 → trace-e basyň.

17) Antipatternler

Percentilleriň ýerine ortaça; status-synplara bölünişigiň ýoklugy.
Ylalaşylmadyk 'route '/' path' (dinamiki ID belgä "tikilýär").
Ýokary kardinally bellikler (raw user_id, IP).
Daşarky üpjün edijileriň aýratyn hasaba alynmazlygy (PSP/3rd-party).
"Ses" boýunça alertler (ýekeje we bir bosagada).
p99 (hakyky zaýalanmagy gizleýär).

18) Prod-taýynlygyň gözegçilik sanawy

  • SLI/SLO we error-budget kesgitlenildi, iş bilen ylalaşyldy.
  • latency we status synplary; Dashbordlarda p95/p99.
  • Doly yzarlama (OTel), ýazgylaryň/metrikleriň/treýsleriň baglanyşygy.
  • Burn-rate (iki penjireli) alertleri, p99 we error-rate çäkleri.
  • Per-tenant/per-plan kesimleri we bahasy boýunça hasabatlar.
  • Daşbordlar: Exec, Per-Route, Dependencies, Capacity, Abuse.
  • Ýük ssenarileri (burst/plato/stres), profil.
  • Jitter bilen retraý syýasaty; retraýlaryň RPS-e edýän täsirini hasaba almak.
  • Hyzmatdaşlar we jemgyýetçilik müşderileri üçin SLA/SLO resminamalary.
  • Retrenşn/bloglary gizlemek, PII goragy.

19) TL; DR

SLI/SLO we error-budget töwereginde gözegçilik guruň, RED/USE ölçäň, p95/p99 we "queue time" latency histogrammalaryny ýygnaň, perimetrden BD-e çenli ýeke-täk trace-id paýlaň, tail/adaptive-sampling ulanyň, per-tenant saklaň/çykdajy bölekleri we iki penjireli burn-rate-alerting. Nobatlaryň kanunlary we iş metrikasyna täsiri boýunça kuwwaty meýilleşdiriň; antipatternler - percentilleriň ýerine ortaça, ýokary kardinallyk we hasaba alynmadyk daşarky garaşlylyk.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Telegram
@Gamble_GC
Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.