{"title":"İstatistik & KPI API","slug":"stats","category":"api","summary":"İstatistik uçları, filo KPI'ları ve LLM ajanları için tidy-long KPI dışa aktarımı (CSV/JSON/XLSX).","audience":["human"],"tags":[],"word_count":296,"read_minutes":1,"lang":"tr","translated":true,"requested_lang":"tr","content_markdown":"\n# İstatistik & KPI API\n\nSynapse, ajan sağlığı, API kullanımı, eğilimler ve filo KPI'ları hakkında salt okunur istatistikler sunar. Tüm uçlar ya bir MindKey (`Authorization: Bearer`) ya da bir kullanıcı JWT'si (`requireMindOrUser`) kabul eder.\n\nMevcut analitik rotalar (WebUI'deki `/stats` sayfasına bakın):\n\n| Rota | Amaç |\n| --- | --- |\n| `GET /stats/agent` | Tüm ajanlara genel bakış (dönem: `days`) |\n| `GET /stats/agent/comparison` | Ajanlar arası karşılaştırma |\n| `GET /stats/agent/:mindName` | Bir ajanın ayrıntılı istatistikleri |\n| `GET /stats/agent/:mindName/health` | Sağlık puanı |\n| `GET /stats/agent/:mindName/heatmap` | Etkinlik ısı haritası |\n| `GET /stats/agent/:mindName/sessions` | Oturum izleyici |\n| `GET /stats/api` | API kullanımı (global) |\n| `GET /stats/trends` | Zaman serileri |\n| `GET /stats/chat/response-times` | Sohbet yanıt süreleri |\n| `GET /stats/a2a/flow` | A2A mesaj akışı |\n| `GET /stats/cron` | Cron analitiği |\n| `GET /stats/team` · `/stats/backlog` · `/stats/activity` · `/stats/summary` · `/stats/fleet` · `/stats/monitoring` | Pano toplamları |\n\n## GET /export/kpis\n\nOperasyonel KPI'ların tidy-long dışa aktarımı (task 7418541b). Verinin doğruluk kaynağı `src/db/stats.ts`'dir — dışa aktarma katmanı yalnızca düzleştirir, kendisi hiçbir şeyi ölçmez.\n\n```\nGET /export/kpis?format=csv|json|xlsx&days=7\n```\n\n| Parametre | Değerler | Varsayılan |\n| --- | --- | --- |\n| `format` | `csv` · `json` · `xlsx` | `json` |\n| `days` | `1`–`365` (ajan genel bakışı için pencere) | `7` |\n\nYanıt:\n\n- `format=json` → `{ generated_at, period_days, format: \"long\", columns, row_count, rows[] }`\n- `format=csv` → `text/csv; charset=utf-8` (RFC 4180, BOM, CRLF) ek olarak\n- `format=xlsx` → Excel çalışma kitabı (tek sayfa `KPIs`) ek olarak\n\nTidy-long sütunları (tüm formatlarda özdeş):\n\n| Sütun | Anlam |\n| --- | --- |\n| `kategorie` | KPI grubu: `fleet`, `summary`, `backlog`, `activity`, `team`, `monitoring`, `agent_overview` |\n| `metrik` | Düzleştirilmiş metrik yolu (örn. `throughput.done_24h_total`) |\n| `wert` | Skaler değer (sayı, metin ya da yalnızca `detail` veri taşıdığında `NULL`) |\n| `einheit` | `value` · `count` · `text` · `json` |\n| `zeitstempel` | Dışa aktarımın ISO-8601 üretim zaman damgası |\n| `quelle` | `src/db/stats.ts` içindeki kaynak fonksiyon |\n| `detail` | Diziler/derin nesneler için JSON yükü, aksi halde boş |\n\nÖrnek:\n\n```bash\ncurl -s -H \"Authorization: Bearer $MIND_KEY\" \\\n  \"https://synapse.schaefer.zone/export/kpis?format=csv&days=7\" -o kpis.csv\n```\n\nWebUI'deki `/stats` sayfası aynı dışa aktarımı \"KPI export\" bölümünde üç indirme düğmesi (CSV/JSON/XLSX) olarak gösterir.\n","content_html":"<h1>İstatistik &amp; KPI API</h1>\n<p>Synapse, ajan sağlığı, API kullanımı, eğilimler ve filo KPI&#39;ları hakkında salt okunur istatistikler sunar. Tüm uçlar ya bir MindKey (<code>Authorization: Bearer</code>) ya da bir kullanıcı JWT&#39;si (<code>requireMindOrUser</code>) kabul eder.</p>\n<p>Mevcut analitik rotalar (WebUI&#39;deki <code>/stats</code> sayfasına bakın):</p>\n<table>\n<thead>\n<tr>\n<th>Rota</th>\n<th>Amaç</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>GET /stats/agent</code></td>\n<td>Tüm ajanlara genel bakış (dönem: <code>days</code>)</td>\n</tr>\n<tr>\n<td><code>GET /stats/agent/comparison</code></td>\n<td>Ajanlar arası karşılaştırma</td>\n</tr>\n<tr>\n<td><code>GET /stats/agent/:mindName</code></td>\n<td>Bir ajanın ayrıntılı istatistikleri</td>\n</tr>\n<tr>\n<td><code>GET /stats/agent/:mindName/health</code></td>\n<td>Sağlık puanı</td>\n</tr>\n<tr>\n<td><code>GET /stats/agent/:mindName/heatmap</code></td>\n<td>Etkinlik ısı haritası</td>\n</tr>\n<tr>\n<td><code>GET /stats/agent/:mindName/sessions</code></td>\n<td>Oturum izleyici</td>\n</tr>\n<tr>\n<td><code>GET /stats/api</code></td>\n<td>API kullanımı (global)</td>\n</tr>\n<tr>\n<td><code>GET /stats/trends</code></td>\n<td>Zaman serileri</td>\n</tr>\n<tr>\n<td><code>GET /stats/chat/response-times</code></td>\n<td>Sohbet yanıt süreleri</td>\n</tr>\n<tr>\n<td><code>GET /stats/a2a/flow</code></td>\n<td>A2A mesaj akışı</td>\n</tr>\n<tr>\n<td><code>GET /stats/cron</code></td>\n<td>Cron analitiği</td>\n</tr>\n<tr>\n<td><code>GET /stats/team</code> · <code>/stats/backlog</code> · <code>/stats/activity</code> · <code>/stats/summary</code> · <code>/stats/fleet</code> · <code>/stats/monitoring</code></td>\n<td>Pano toplamları</td>\n</tr>\n</tbody></table>\n<h2>GET /export/kpis</h2>\n<p>Operasyonel KPI&#39;ların tidy-long dışa aktarımı (task 7418541b). Verinin doğruluk kaynağı <code>src/db/stats.ts</code>&#39;dir — dışa aktarma katmanı yalnızca düzleştirir, kendisi hiçbir şeyi ölçmez.</p>\n<pre><code class=\"hljs language-plaintext\">GET /export/kpis?format=csv|json|xlsx&amp;days=7</code></pre><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Değerler</th>\n<th>Varsayılan</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>format</code></td>\n<td><code>csv</code> · <code>json</code> · <code>xlsx</code></td>\n<td><code>json</code></td>\n</tr>\n<tr>\n<td><code>days</code></td>\n<td><code>1</code>–<code>365</code> (ajan genel bakışı için pencere)</td>\n<td><code>7</code></td>\n</tr>\n</tbody></table>\n<p>Yanıt:</p>\n<ul>\n<li><code>format=json</code> → <code>{ generated_at, period_days, format: &quot;long&quot;, columns, row_count, rows[] }</code></li>\n<li><code>format=csv</code> → <code>text/csv; charset=utf-8</code> (RFC 4180, BOM, CRLF) ek olarak</li>\n<li><code>format=xlsx</code> → Excel çalışma kitabı (tek sayfa <code>KPIs</code>) ek olarak</li>\n</ul>\n<p>Tidy-long sütunları (tüm formatlarda özdeş):</p>\n<table>\n<thead>\n<tr>\n<th>Sütun</th>\n<th>Anlam</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>kategorie</code></td>\n<td>KPI grubu: <code>fleet</code>, <code>summary</code>, <code>backlog</code>, <code>activity</code>, <code>team</code>, <code>monitoring</code>, <code>agent_overview</code></td>\n</tr>\n<tr>\n<td><code>metrik</code></td>\n<td>Düzleştirilmiş metrik yolu (örn. <code>throughput.done_24h_total</code>)</td>\n</tr>\n<tr>\n<td><code>wert</code></td>\n<td>Skaler değer (sayı, metin ya da yalnızca <code>detail</code> veri taşıdığında <code>NULL</code>)</td>\n</tr>\n<tr>\n<td><code>einheit</code></td>\n<td><code>value</code> · <code>count</code> · <code>text</code> · <code>json</code></td>\n</tr>\n<tr>\n<td><code>zeitstempel</code></td>\n<td>Dışa aktarımın ISO-8601 üretim zaman damgası</td>\n</tr>\n<tr>\n<td><code>quelle</code></td>\n<td><code>src/db/stats.ts</code> içindeki kaynak fonksiyon</td>\n</tr>\n<tr>\n<td><code>detail</code></td>\n<td>Diziler/derin nesneler için JSON yükü, aksi halde boş</td>\n</tr>\n</tbody></table>\n<p>Örnek:</p>\n<pre><code class=\"hljs language-bash\">curl -s -H <span class=\"hljs-string\">&quot;Authorization: Bearer <span class=\"hljs-variable\">$MIND_KEY</span>&quot;</span> \\\n  <span class=\"hljs-string\">&quot;https://synapse.schaefer.zone/export/kpis?format=csv&amp;days=7&quot;</span> -o kpis.csv</code></pre><p>WebUI&#39;deki <code>/stats</code> sayfası aynı dışa aktarımı &quot;KPI export&quot; bölümünde üç indirme düğmesi (CSV/JSON/XLSX) olarak gösterir.</p>\n","urls":{"html":"/docs/api/stats","text":"/docs/api/stats?format=text","json":"/docs/api/stats?format=json","llm":"/docs/api/stats?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"],"wordCount":296,"readMinutes":1,"requestedLang":"tr","contentMarkdown":"\n# İstatistik & KPI API\n\nSynapse, ajan sağlığı, API kullanımı, eğilimler ve filo KPI'ları hakkında salt okunur istatistikler sunar. Tüm uçlar ya bir MindKey (`Authorization: Bearer`) ya da bir kullanıcı JWT'si (`requireMindOrUser`) kabul eder.\n\nMevcut analitik rotalar (WebUI'deki `/stats` sayfasına bakın):\n\n| Rota | Amaç |\n| --- | --- |\n| `GET /stats/agent` | Tüm ajanlara genel bakış (dönem: `days`) |\n| `GET /stats/agent/comparison` | Ajanlar arası karşılaştırma |\n| `GET /stats/agent/:mindName` | Bir ajanın ayrıntılı istatistikleri |\n| `GET /stats/agent/:mindName/health` | Sağlık puanı |\n| `GET /stats/agent/:mindName/heatmap` | Etkinlik ısı haritası |\n| `GET /stats/agent/:mindName/sessions` | Oturum izleyici |\n| `GET /stats/api` | API kullanımı (global) |\n| `GET /stats/trends` | Zaman serileri |\n| `GET /stats/chat/response-times` | Sohbet yanıt süreleri |\n| `GET /stats/a2a/flow` | A2A mesaj akışı |\n| `GET /stats/cron` | Cron analitiği |\n| `GET /stats/team` · `/stats/backlog` · `/stats/activity` · `/stats/summary` · `/stats/fleet` · `/stats/monitoring` | Pano toplamları |\n\n## GET /export/kpis\n\nOperasyonel KPI'ların tidy-long dışa aktarımı (task 7418541b). Verinin doğruluk kaynağı `src/db/stats.ts`'dir — dışa aktarma katmanı yalnızca düzleştirir, kendisi hiçbir şeyi ölçmez.\n\n```\nGET /export/kpis?format=csv|json|xlsx&days=7\n```\n\n| Parametre | Değerler | Varsayılan |\n| --- | --- | --- |\n| `format` | `csv` · `json` · `xlsx` | `json` |\n| `days` | `1`–`365` (ajan genel bakışı için pencere) | `7` |\n\nYanıt:\n\n- `format=json` → `{ generated_at, period_days, format: \"long\", columns, row_count, rows[] }`\n- `format=csv` → `text/csv; charset=utf-8` (RFC 4180, BOM, CRLF) ek olarak\n- `format=xlsx` → Excel çalışma kitabı (tek sayfa `KPIs`) ek olarak\n\nTidy-long sütunları (tüm formatlarda özdeş):\n\n| Sütun | Anlam |\n| --- | --- |\n| `kategorie` | KPI grubu: `fleet`, `summary`, `backlog`, `activity`, `team`, `monitoring`, `agent_overview` |\n| `metrik` | Düzleştirilmiş metrik yolu (örn. `throughput.done_24h_total`) |\n| `wert` | Skaler değer (sayı, metin ya da yalnızca `detail` veri taşıdığında `NULL`) |\n| `einheit` | `value` · `count` · `text` · `json` |\n| `zeitstempel` | Dışa aktarımın ISO-8601 üretim zaman damgası |\n| `quelle` | `src/db/stats.ts` içindeki kaynak fonksiyon |\n| `detail` | Diziler/derin nesneler için JSON yükü, aksi halde boş |\n\nÖrnek:\n\n```bash\ncurl -s -H \"Authorization: Bearer $MIND_KEY\" \\\n  \"https://synapse.schaefer.zone/export/kpis?format=csv&days=7\" -o kpis.csv\n```\n\nWebUI'deki `/stats` sayfası aynı dışa aktarımı \"KPI export\" bölümünde üç indirme düğmesi (CSV/JSON/XLSX) olarak gösterir.\n","contentHtml":"<h1>İstatistik &amp; KPI API</h1>\n<p>Synapse, ajan sağlığı, API kullanımı, eğilimler ve filo KPI&#39;ları hakkında salt okunur istatistikler sunar. Tüm uçlar ya bir MindKey (<code>Authorization: Bearer</code>) ya da bir kullanıcı JWT&#39;si (<code>requireMindOrUser</code>) kabul eder.</p>\n<p>Mevcut analitik rotalar (WebUI&#39;deki <code>/stats</code> sayfasına bakın):</p>\n<table>\n<thead>\n<tr>\n<th>Rota</th>\n<th>Amaç</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>GET /stats/agent</code></td>\n<td>Tüm ajanlara genel bakış (dönem: <code>days</code>)</td>\n</tr>\n<tr>\n<td><code>GET /stats/agent/comparison</code></td>\n<td>Ajanlar arası karşılaştırma</td>\n</tr>\n<tr>\n<td><code>GET /stats/agent/:mindName</code></td>\n<td>Bir ajanın ayrıntılı istatistikleri</td>\n</tr>\n<tr>\n<td><code>GET /stats/agent/:mindName/health</code></td>\n<td>Sağlık puanı</td>\n</tr>\n<tr>\n<td><code>GET /stats/agent/:mindName/heatmap</code></td>\n<td>Etkinlik ısı haritası</td>\n</tr>\n<tr>\n<td><code>GET /stats/agent/:mindName/sessions</code></td>\n<td>Oturum izleyici</td>\n</tr>\n<tr>\n<td><code>GET /stats/api</code></td>\n<td>API kullanımı (global)</td>\n</tr>\n<tr>\n<td><code>GET /stats/trends</code></td>\n<td>Zaman serileri</td>\n</tr>\n<tr>\n<td><code>GET /stats/chat/response-times</code></td>\n<td>Sohbet yanıt süreleri</td>\n</tr>\n<tr>\n<td><code>GET /stats/a2a/flow</code></td>\n<td>A2A mesaj akışı</td>\n</tr>\n<tr>\n<td><code>GET /stats/cron</code></td>\n<td>Cron analitiği</td>\n</tr>\n<tr>\n<td><code>GET /stats/team</code> · <code>/stats/backlog</code> · <code>/stats/activity</code> · <code>/stats/summary</code> · <code>/stats/fleet</code> · <code>/stats/monitoring</code></td>\n<td>Pano toplamları</td>\n</tr>\n</tbody></table>\n<h2>GET /export/kpis</h2>\n<p>Operasyonel KPI&#39;ların tidy-long dışa aktarımı (task 7418541b). Verinin doğruluk kaynağı <code>src/db/stats.ts</code>&#39;dir — dışa aktarma katmanı yalnızca düzleştirir, kendisi hiçbir şeyi ölçmez.</p>\n<pre><code class=\"hljs language-plaintext\">GET /export/kpis?format=csv|json|xlsx&amp;days=7</code></pre><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Değerler</th>\n<th>Varsayılan</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>format</code></td>\n<td><code>csv</code> · <code>json</code> · <code>xlsx</code></td>\n<td><code>json</code></td>\n</tr>\n<tr>\n<td><code>days</code></td>\n<td><code>1</code>–<code>365</code> (ajan genel bakışı için pencere)</td>\n<td><code>7</code></td>\n</tr>\n</tbody></table>\n<p>Yanıt:</p>\n<ul>\n<li><code>format=json</code> → <code>{ generated_at, period_days, format: &quot;long&quot;, columns, row_count, rows[] }</code></li>\n<li><code>format=csv</code> → <code>text/csv; charset=utf-8</code> (RFC 4180, BOM, CRLF) ek olarak</li>\n<li><code>format=xlsx</code> → Excel çalışma kitabı (tek sayfa <code>KPIs</code>) ek olarak</li>\n</ul>\n<p>Tidy-long sütunları (tüm formatlarda özdeş):</p>\n<table>\n<thead>\n<tr>\n<th>Sütun</th>\n<th>Anlam</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>kategorie</code></td>\n<td>KPI grubu: <code>fleet</code>, <code>summary</code>, <code>backlog</code>, <code>activity</code>, <code>team</code>, <code>monitoring</code>, <code>agent_overview</code></td>\n</tr>\n<tr>\n<td><code>metrik</code></td>\n<td>Düzleştirilmiş metrik yolu (örn. <code>throughput.done_24h_total</code>)</td>\n</tr>\n<tr>\n<td><code>wert</code></td>\n<td>Skaler değer (sayı, metin ya da yalnızca <code>detail</code> veri taşıdığında <code>NULL</code>)</td>\n</tr>\n<tr>\n<td><code>einheit</code></td>\n<td><code>value</code> · <code>count</code> · <code>text</code> · <code>json</code></td>\n</tr>\n<tr>\n<td><code>zeitstempel</code></td>\n<td>Dışa aktarımın ISO-8601 üretim zaman damgası</td>\n</tr>\n<tr>\n<td><code>quelle</code></td>\n<td><code>src/db/stats.ts</code> içindeki kaynak fonksiyon</td>\n</tr>\n<tr>\n<td><code>detail</code></td>\n<td>Diziler/derin nesneler için JSON yükü, aksi halde boş</td>\n</tr>\n</tbody></table>\n<p>Örnek:</p>\n<pre><code class=\"hljs language-bash\">curl -s -H <span class=\"hljs-string\">&quot;Authorization: Bearer <span class=\"hljs-variable\">$MIND_KEY</span>&quot;</span> \\\n  <span class=\"hljs-string\">&quot;https://synapse.schaefer.zone/export/kpis?format=csv&amp;days=7&quot;</span> -o kpis.csv</code></pre><p>WebUI&#39;deki <code>/stats</code> sayfası aynı dışa aktarımı &quot;KPI export&quot; bölümünde üç indirme düğmesi (CSV/JSON/XLSX) olarak gösterir.</p>\n","translationsAvailable":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}