Files
progcode/web/public/assets/editorial/2020/metrics-label-boundary-2020.svg
T
huncode 8e16858f16
Build and deploy / deploy (push) Successful in 13s
revise August 2020 metrics articles
2026-07-31 11:44:13 +03:00

59 lines
5.2 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" width="720" height="1360" viewBox="0 0 720 1360" role="img" aria-labelledby="title desc">
<title id="title">Граница полезных labels в метрике</title>
<desc id="desc">Вертикальная схема показывает, что событие HTTP проходит allowlist operation и outcome в агрегированную time series. Request ID, email и полный URL уходят в журнал для поиска одного события и не становятся labels.</desc>
<defs>
<linearGradient id="background" x1="0" x2="0" y1="0" y2="1">
<stop offset="0" stop-color="#101d2d"/>
<stop offset="1" stop-color="#173744"/>
</linearGradient>
<marker id="arrowBlue" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto">
<path d="M0 0 L12 6 L0 12 Z" fill="#65b9f5"/>
</marker>
<marker id="arrowRed" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto">
<path d="M0 0 L12 6 L0 12 Z" fill="#ff8b9c"/>
</marker>
</defs>
<rect width="720" height="1360" rx="32" fill="url(#background)"/>
<text x="48" y="70" fill="#f8fafc" font-family="Arial, sans-serif" font-size="34" font-weight="700">Labels: граница series</text>
<text x="48" y="108" fill="#b9d9ef" font-family="Arial, sans-serif" font-size="22">Ограниченная размерность ≠ журнал события</text>
<rect x="48" y="148" width="624" height="142" rx="22" fill="#193952" stroke="#65b9f5" stroke-width="3"/>
<text x="80" y="194" fill="#9bd6ff" font-family="Arial, sans-serif" font-size="21" font-weight="700">СОБЫТИЕ HTTP</text>
<text x="80" y="234" fill="#f8fafc" font-family="Arial, sans-serif" font-size="28" font-weight="700">checkout завершился error</text>
<text x="80" y="266" fill="#c7d8e7" font-family="Arial, sans-serif" font-size="21">есть и стабильные, и уникальные поля</text>
<path d="M360 300v52" stroke="#65b9f5" stroke-width="6" stroke-linecap="round" marker-end="url(#arrowBlue)"/>
<rect x="48" y="372" width="624" height="214" rx="22" fill="#143f37" stroke="#5ed09e" stroke-width="3"/>
<text x="80" y="418" fill="#93e6bd" font-family="Arial, sans-serif" font-size="21" font-weight="700">ALLOWLIST ДЛЯ МЕТРИКИ</text>
<text x="80" y="458" fill="#f8fafc" font-family="Arial, sans-serif" font-size="28" font-weight="700">operation</text>
<text x="80" y="492" fill="#d2f4e2" font-family="Arial, sans-serif" font-size="22">catalog · checkout · profile</text>
<text x="80" y="536" fill="#f8fafc" font-family="Arial, sans-serif" font-size="28" font-weight="700">outcome</text>
<text x="80" y="568" fill="#d2f4e2" font-family="Arial, sans-serif" font-size="22">success · error</text>
<path d="M360 596v52" stroke="#5ed09e" stroke-width="6" stroke-linecap="round" marker-end="url(#arrowBlue)"/>
<rect x="48" y="668" width="624" height="168" rx="22" fill="#243455" stroke="#a8c5ff" stroke-width="3"/>
<text x="80" y="714" fill="#c7d8ff" font-family="Arial, sans-serif" font-size="21" font-weight="700">АГРЕГИРОВАННАЯ SERIES</text>
<text x="80" y="754" fill="#f8fafc" font-family="Arial, sans-serif" font-size="28" font-weight="700">requests_total</text>
<text x="80" y="790" fill="#d5e2ff" font-family="Arial, sans-serif" font-size="21">operation + outcome → вопрос и query</text>
<text x="80" y="818" fill="#9bd6ff" font-family="Arial, sans-serif" font-size="20" font-weight="700">малое число понятных комбинаций</text>
<path d="M360 852v48" stroke="#65b9f5" stroke-width="6" stroke-linecap="round" marker-end="url(#arrowBlue)"/>
<rect x="48" y="920" width="624" height="166" rx="22" fill="#542635" stroke="#ff8b9c" stroke-width="3"/>
<text x="80" y="966" fill="#ffc2ca" font-family="Arial, sans-serif" font-size="21" font-weight="700">НЕ LABEL</text>
<text x="80" y="1006" fill="#f8fafc" font-family="Arial, sans-serif" font-size="27" font-weight="700">request ID · email · полный URL</text>
<text x="80" y="1042" fill="#ffd8de" font-family="Arial, sans-serif" font-size="21">новое значение на событие → новая series</text>
<text x="80" y="1070" fill="#ffb1bf" font-family="Arial, sans-serif" font-size="20" font-weight="700">не хранить уникальный контекст в counter</text>
<path d="M360 1102v48" stroke="#ff8b9c" stroke-width="6" stroke-linecap="round" marker-end="url(#arrowRed)"/>
<rect x="48" y="1170" width="624" height="138" rx="22" fill="#452f20" stroke="#f0aa54" stroke-width="3"/>
<text x="80" y="1216" fill="#ffd395" font-family="Arial, sans-serif" font-size="21" font-weight="700">ЖУРНАЛ / REQUEST CONTEXT</text>
<text x="80" y="1256" fill="#f8fafc" font-family="Arial, sans-serif" font-size="27" font-weight="700">поиск одного события</text>
<text x="80" y="1288" fill="#ffe4c3" font-family="Arial, sans-serif" font-size="21">ID остаётся ключом расследования</text>
<text x="360" y="1335" text-anchor="middle" fill="#b9d9ef" font-family="Arial, sans-serif" font-size="21">Сначала вопрос → затем label → затем series</text>
</svg>