This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="720" height="1380" viewBox="0 0 720 1380" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Учебный разбор порога по counter</title>
|
||||
<desc id="desc">Вертикальная схема показывает: общий график не является диагнозом. Для одной series checkout error берут три синтетические точки counter ноль, один и два, проверяют прирост за десять минут против учебного порога две и затем открывают один связанный журнал.</desc>
|
||||
<defs>
|
||||
<linearGradient id="background" x1="0" x2="0" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#fff9ee"/>
|
||||
<stop offset="1" stop-color="#f1f6ff"/>
|
||||
</linearGradient>
|
||||
<marker id="arrow" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto">
|
||||
<path d="M0 0 L12 6 L0 12 Z" fill="#4f66a6"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<rect width="720" height="1380" rx="32" fill="url(#background)"/>
|
||||
<text x="48" y="70" fill="#283a6d" font-family="Arial, sans-serif" font-size="34" font-weight="700">Разбор учебного counter</text>
|
||||
<text x="48" y="108" fill="#62708e" font-family="Arial, sans-serif" font-size="22">Сигнал сужает вопрос · не называет причину</text>
|
||||
|
||||
<rect x="48" y="148" width="624" height="152" rx="22" fill="#ffffff" stroke="#8ba1d0" stroke-width="3"/>
|
||||
<text x="80" y="194" fill="#4f66a6" font-family="Arial, sans-serif" font-size="21" font-weight="700">1 · ВЫБРАТЬ SERIES</text>
|
||||
<text x="80" y="234" fill="#283a6d" font-family="Arial, sans-serif" font-size="27" font-weight="700">checkout + error</text>
|
||||
<text x="80" y="268" fill="#50627d" font-family="Arial, sans-serif" font-size="21">не общий requests_total</text>
|
||||
|
||||
<path d="M360 310v48" stroke="#4f66a6" stroke-width="6" stroke-linecap="round" marker-end="url(#arrow)"/>
|
||||
|
||||
<rect x="48" y="378" width="624" height="362" rx="22" fill="#ffffff" stroke="#8ba1d0" stroke-width="3"/>
|
||||
<text x="80" y="424" fill="#4f66a6" font-family="Arial, sans-serif" font-size="21" font-weight="700">2 · СЫРЫЕ SNAPSHOTS</text>
|
||||
<text x="80" y="458" fill="#50627d" font-family="Arial, sans-serif" font-size="21">синтетические точки, не production-метрика</text>
|
||||
<line x1="144" y1="676" x2="594" y2="676" stroke="#9aa8bf" stroke-width="3"/>
|
||||
<line x1="144" y1="504" x2="144" y2="676" stroke="#9aa8bf" stroke-width="3"/>
|
||||
<line x1="142" y1="590" x2="594" y2="590" stroke="#d8dee8" stroke-width="2" stroke-dasharray="8 8"/>
|
||||
<text x="112" y="682" fill="#66758d" font-family="Arial, sans-serif" font-size="20">0</text>
|
||||
<text x="112" y="596" fill="#66758d" font-family="Arial, sans-serif" font-size="20">1</text>
|
||||
<text x="112" y="516" fill="#66758d" font-family="Arial, sans-serif" font-size="20">2</text>
|
||||
<rect x="202" y="676" width="74" height="0" rx="8" fill="#79a9e6"/>
|
||||
<rect x="340" y="590" width="74" height="86" rx="8" fill="#79a9e6"/>
|
||||
<rect x="478" y="504" width="74" height="172" rx="8" fill="#3a75bf"/>
|
||||
<text x="239" y="716" text-anchor="middle" fill="#50627d" font-family="Arial, sans-serif" font-size="20">10:00</text>
|
||||
<text x="377" y="716" text-anchor="middle" fill="#50627d" font-family="Arial, sans-serif" font-size="20">10:05</text>
|
||||
<text x="515" y="716" text-anchor="middle" fill="#50627d" font-family="Arial, sans-serif" font-size="20">10:10</text>
|
||||
<text x="239" y="660" text-anchor="middle" fill="#50627d" font-family="Arial, sans-serif" font-size="22" font-weight="700">0</text>
|
||||
<text x="377" y="574" text-anchor="middle" fill="#50627d" font-family="Arial, sans-serif" font-size="22" font-weight="700">1</text>
|
||||
<text x="515" y="488" text-anchor="middle" fill="#283a6d" font-family="Arial, sans-serif" font-size="22" font-weight="700">2</text>
|
||||
|
||||
<path d="M360 752v48" stroke="#4f66a6" stroke-width="6" stroke-linecap="round" marker-end="url(#arrow)"/>
|
||||
|
||||
<rect x="48" y="820" width="624" height="176" rx="22" fill="#edf1ff" stroke="#6f82c2" stroke-width="3"/>
|
||||
<text x="80" y="866" fill="#4f66a6" font-family="Arial, sans-serif" font-size="21" font-weight="700">3 · ПРОВЕРИТЬ ОКНО</text>
|
||||
<text x="80" y="908" fill="#283a6d" font-family="Arial, sans-serif" font-size="27" font-weight="700">increase(...[10m]) = 2</text>
|
||||
<text x="80" y="944" fill="#50627d" font-family="Arial, sans-serif" font-size="21">fixture считает прозрачную разность</text>
|
||||
<text x="80" y="972" fill="#4f66a6" font-family="Arial, sans-serif" font-size="20" font-weight="700">не моделирует scrape и reset</text>
|
||||
|
||||
<path d="M360 1008v48" stroke="#4f66a6" stroke-width="6" stroke-linecap="round" marker-end="url(#arrow)"/>
|
||||
|
||||
<rect x="48" y="1076" width="624" height="160" rx="22" fill="#fff1da" stroke="#d99b37" stroke-width="3"/>
|
||||
<text x="80" y="1122" fill="#9b6416" font-family="Arial, sans-serif" font-size="21" font-weight="700">4 · УЧЕБНЫЙ ПОРОГ</text>
|
||||
<text x="80" y="1164" fill="#5c421c" font-family="Arial, sans-serif" font-size="29" font-weight="700">2 >= 2 → пересечён</text>
|
||||
<text x="80" y="1200" fill="#5c421c" font-family="Arial, sans-serif" font-size="21">это не alert severity и не SLO</text>
|
||||
|
||||
<path d="M360 1248v42" stroke="#d99b37" stroke-width="6" stroke-linecap="round" marker-end="url(#arrow)"/>
|
||||
|
||||
<rect x="48" y="1310" width="624" height="42" rx="16" fill="#283a6d"/>
|
||||
<text x="360" y="1339" text-anchor="middle" fill="#ffffff" font-family="Arial, sans-serif" font-size="20" font-weight="700">Дальше: один связанный журнал или стендовый сценарий</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.7 KiB |
@@ -0,0 +1,58 @@
|
||||
<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>
|
||||
|
After Width: | Height: | Size: 5.2 KiB |
@@ -0,0 +1,59 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="720" height="1320" viewBox="0 0 720 1320" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Контракт учебного сигнала для HTTP-операции</title>
|
||||
<desc id="desc">Вертикальная схема: один операционный вопрос про ошибки checkout ведёт к counter с ограниченными labels operation и outcome, затем к учебному окну десять минут, порогу две ошибки и следующей диагностической проверке.</desc>
|
||||
<defs>
|
||||
<linearGradient id="background" x1="0" x2="0" y1="0" y2="1">
|
||||
<stop offset="0" stop-color="#f4f8ff"/>
|
||||
<stop offset="1" stop-color="#edf8f1"/>
|
||||
</linearGradient>
|
||||
<marker id="arrow" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto">
|
||||
<path d="M0 0 L12 6 L0 12 Z" fill="#245c97"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<rect width="720" height="1320" rx="32" fill="url(#background)"/>
|
||||
<text x="48" y="68" fill="#183c60" font-family="Arial, sans-serif" font-size="34" font-weight="700">Метрика начинается с вопроса</text>
|
||||
<text x="48" y="106" fill="#506b84" font-family="Arial, sans-serif" font-size="22">Учебный контракт · не production-график</text>
|
||||
|
||||
<rect x="48" y="146" width="624" height="170" rx="22" fill="#ffffff" stroke="#7ea6ca" stroke-width="3"/>
|
||||
<circle cx="92" cy="200" r="24" fill="#2f77b6"/>
|
||||
<text x="84" y="208" fill="#ffffff" font-family="Arial, sans-serif" font-size="22" font-weight="700">1</text>
|
||||
<text x="132" y="198" fill="#245c97" font-family="Arial, sans-serif" font-size="21" font-weight="700">ОПЕРАЦИОННЫЙ ВОПРОС</text>
|
||||
<text x="132" y="240" fill="#183c60" font-family="Arial, sans-serif" font-size="29" font-weight="700">Ошибки checkout</text>
|
||||
<text x="132" y="276" fill="#425f76" font-family="Arial, sans-serif" font-size="22">за контролируемые 10 минут?</text>
|
||||
|
||||
<line x1="360" y1="332" x2="360" y2="386" stroke="#245c97" stroke-width="5" marker-end="url(#arrow)"/>
|
||||
|
||||
<rect x="48" y="406" width="624" height="202" rx="22" fill="#e7f1fc" stroke="#2f77b6" stroke-width="3"/>
|
||||
<circle cx="92" cy="460" r="24" fill="#2f77b6"/>
|
||||
<text x="84" y="468" fill="#ffffff" font-family="Arial, sans-serif" font-size="22" font-weight="700">2</text>
|
||||
<text x="132" y="458" fill="#245c97" font-family="Arial, sans-serif" font-size="21" font-weight="700">SIGNAL</text>
|
||||
<text x="132" y="500" fill="#183c60" font-family="Arial, sans-serif" font-size="28" font-weight="700">requests_total</text>
|
||||
<text x="132" y="536" fill="#425f76" font-family="Arial, sans-serif" font-size="22">counter завершённых запросов</text>
|
||||
<rect x="132" y="556" width="374" height="34" rx="11" fill="#ffffff"/>
|
||||
<text x="151" y="580" fill="#245c97" font-family="Arial, sans-serif" font-size="20" font-weight="700">одна величина · не диагноз</text>
|
||||
|
||||
<line x1="360" y1="624" x2="360" y2="678" stroke="#245c97" stroke-width="5" marker-end="url(#arrow)"/>
|
||||
|
||||
<rect x="48" y="698" width="624" height="206" rx="22" fill="#ffffff" stroke="#5ca77f" stroke-width="3"/>
|
||||
<circle cx="92" cy="752" r="24" fill="#3a8b60"/>
|
||||
<text x="84" y="760" fill="#ffffff" font-family="Arial, sans-serif" font-size="22" font-weight="700">3</text>
|
||||
<text x="132" y="750" fill="#287047" font-family="Arial, sans-serif" font-size="21" font-weight="700">BOUNDED LABELS</text>
|
||||
<text x="132" y="790" fill="#183c60" font-family="Arial, sans-serif" font-size="27" font-weight="700">operation + outcome</text>
|
||||
<text x="132" y="826" fill="#425f76" font-family="Arial, sans-serif" font-size="22">catalog · checkout · profile</text>
|
||||
<text x="132" y="860" fill="#425f76" font-family="Arial, sans-serif" font-size="22">success · error</text>
|
||||
<text x="132" y="888" fill="#287047" font-family="Arial, sans-serif" font-size="20" font-weight="700">без user ID и request ID</text>
|
||||
|
||||
<line x1="360" y1="920" x2="360" y2="974" stroke="#3a8b60" stroke-width="5" marker-end="url(#arrow)"/>
|
||||
|
||||
<rect x="48" y="994" width="624" height="164" rx="22" fill="#fff4df" stroke="#d58d1e" stroke-width="3"/>
|
||||
<circle cx="92" cy="1048" r="24" fill="#d58d1e"/>
|
||||
<text x="84" y="1056" fill="#ffffff" font-family="Arial, sans-serif" font-size="22" font-weight="700">4</text>
|
||||
<text x="132" y="1046" fill="#9a5910" font-family="Arial, sans-serif" font-size="21" font-weight="700">УЧЕБНОЕ УСЛОВИЕ</text>
|
||||
<text x="132" y="1088" fill="#5e3b12" font-family="Arial, sans-serif" font-size="29" font-weight="700">increase(...[10m])</text>
|
||||
<text x="132" y="1122" fill="#5e3b12" font-family="Arial, sans-serif" font-size="25" font-weight="700">>= 2 ошибки</text>
|
||||
|
||||
<line x1="360" y1="1174" x2="360" y2="1224" stroke="#d58d1e" stroke-width="5" marker-end="url(#arrow)"/>
|
||||
|
||||
<rect x="48" y="1244" width="624" height="48" rx="18" fill="#183c60"/>
|
||||
<text x="360" y="1276" text-anchor="middle" fill="#ffffff" font-family="Arial, sans-serif" font-size="21" font-weight="700">Пересекли порог → открыть один связанный журнал</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.1 KiB |
Reference in New Issue
Block a user