# FinOps Charts for Azure AI Agents: Counting Each Run Once

> An agent that fails one call in five costs tokens and returns nothing for them. ZopNight's AI Spend now displays that directly. Open an agent in the Agents view and its drawer carries four charts for…

Source: https://zop.dev/resources/blogs/finops-charts-for-azure-ai-agents-count-each-run-once
Published: 2026-10-09 · Author: riya-mittal · Tags: finops, azure, ai-spend

---

An [agent that fails](https://zop.dev/resources/blogs/m365-copilot-seat-effectiveness) one call in five costs tokens and returns nothing for them. ZopNight's [AI Spend](https://zop.dev/resources/blogs/aws-bedrock-cost-visibility-10-recommendation-rules) now displays that directly. Open an agent in the Agents view and its drawer carries four charts for the last 30 days: completed and failed runs, [tokens and tool calls](https://zop.dev/resources/blogs/per-agent-mcp-token-quota-runaway-protection), and error rate, with a daily table underneath. Each tool lists its name and purpose, and calls are grouped by tool type.

On top of the charts sits one flag. An active agent that fails at least 20 percent of its requests, across at least 20 requests, appears as Failing under Needs attention, pointing at its deployment's rate limit. No new permission is needed to see any of it.

## A Total and Its Parts Were Being Added Together

The charts only mean something if the counts are right, and one count was not. Azure Monitor reports an agent's responses with a started value that already equals completed plus failed for the same calls. ZopNight fetched that metric unsplit and summed it, which counted every call twice. On the test sandbox, 186 responses were shown for 93 calls.

<img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGRhdGEtZDItdmVyc2lvbj0iMC43LjEiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHZpZXdCb3g9IjAgMCA5MjEgNjAwIj48c3ZnIGNsYXNzPSJkMi00MjAxNjYxNzYgZDItc3ZnIiB3aWR0aD0iOTIxIiBoZWlnaHQ9IjYwMCIgdmlld0JveD0iLTEwMSAtMTAxIDkyMSA2MDAiPjxyZWN0IHg9Ii0xMDEuMDAwMDAwIiB5PSItMTAxLjAwMDAwMCIgd2lkdGg9IjkyMS4wMDAwMDAiIGhlaWdodD0iNjAwLjAwMDAwMCIgcng9IjAuMDAwMDAwIiBmaWxsPSIjRkZGRkZGIiBjbGFzcz0iIGZpbGwtTjciIHN0cm9rZS13aWR0aD0iMCIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwhW0NEQVRBWwouZDItNDIwMTY2MTc2IC50ZXh0LWJvbGQgewoJZm9udC1mYW1pbHk6ICJkMi00MjAxNjYxNzYtZm9udC1ib2xkIjsKfQpAZm9udC1mYWNlIHsKCWZvbnQtZmFtaWx5OiBkMi00MjAxNjYxNzYtZm9udC1ib2xkOwoJc3JjOiB1cmwoImRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2Jhc2U2NCxkMDlHUmdBQkFBQUFBQTFRQUFvQUFBQUFGR3dBQWd1RkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQlBVeTh5QUFBQTlBQUFBR0FBQUFCZ1h4SFhybU50WVhBQUFBRlVBQUFBaXdBQUFLWUNXUU4zWjJ4NVpnQUFBZUFBQUFidUFBQUpORWZXK0lKb1pXRmtBQUFJMEFBQUFEWUFBQUEyRzM4ZTFHaG9aV0VBQUFrSUFBQUFKQUFBQUNRS2Z3WGVhRzEwZUFBQUNTd0FBQUI4QUFBQWZEcmhCUFpzYjJOaEFBQUpxQUFBQUVBQUFBQkFJL29ta0cxaGVIQUFBQW5vQUFBQUlBQUFBQ0FBTndEM2JtRnRaUUFBQ2dnQUFBTW9BQUFJS2dqd1ZrRndiM04wQUFBTk1BQUFBQjBBQUFBZy85RUFNZ0FEQWlvQ3ZBQUZBQUFDaWdKWUFBQUFTd0tLQWxnQUFBRmVBRElCS1FBQUFnc0hBd01FQXdJQ0JHQUFBdmNBQUFBREFBQUFBQUFBQUFCQlJFSlBBQ0FBSVAvL0F1Ny9CZ0FBQTlnQkVTQUFBWjhBQUFBQUFmQUNsQUFBQUNBQUEzaWNaTXk3YmNJQUZFRFI0OWo1TzRtVE9PRmJNQUJMVU1BR0hvQVNpUUxSSUJpRkRoQTlFeUF4Q2h1d3dVT3k2TGpsTFE0U3FRUzV6QnFsUWlyVDB6Y3dVcG1ZV1ZoRmNMdERsYkdwdVdWRW5PTVNwempHSWZheGkyMXNhdSsrUk5kRGJUOTY4dXpGcXpmdmNoOCtmU2w4Ky9HcjlPZGZRMU5MVzRjckFBQUEvLzhCQUFELy8zOTVHOEVBZUp4a1ZsdHMyOWI1Lzg0UlJVWXlIWm1pU09waVhXbVJraTl5SklxaUw3Smx4YklkTzVJdkNlSTRyV09uZWZqL3V6bDJ1dGhaM001REhwSVYyK3BzMkdSa3hUSnNRSkZoRzVBK0JOMkF0WUEzb0EvdGd1YWhROXJsYWQzV0RjSFFsd21GTVJTZFRBMms1QnYyWUI4K0hIL2Y3L1o5eDJDRmFRQjhHVytCQld6Z0FDZHdBQW9UWnFLS0xJdVVwbWlhS0ZnMEdUSFVOSGJxUDc4dng0bDRuR2dQdlI1OFpYRVJsUmJ3MXU2VjUwdVhMLzk3c2I5Zi8rbmI3K2gzME9vN0FMajJKUUFleHB0Z0F3YUFwUlJaa21TUkpDMnN3b3F5U0QxcmVjM1I3R3NtYU0rWGp4OCsva25zL1JpYXlHYVRLMHA2V2Y4VzN0eGR1M2NQQUFCQkNRRDlDMjlDazRtTEMzTUtKM0pocm9SZTEvL3p5U2ZJZ1RjM2JuM2o3c2IrM1grYVBRL2RMYUY3K2hlZmZvbzNOMzYwc1Z1dk9WN2J3Vk40MDBCbWpVZ3FvekF1WGtsbHpBOFNUZDU4ZGF0UDA3TGZ1MFhmdlk4VzlQS2xZdkVTV3RiZnVIOFhNTFRYZHRCSHFBb2VFQUdFaUtTbU01b2tpUkdTa2pNWkpjVnpqR2p3MUZJWlRTVkp6c1gvcmpCOXU0ekZlSENvVGUxZTZsdjh2M1U3RVJ3NzVvbXlrOWtnZlQ0M09lY0l5Mjd1QlgvYnlqWDlIMHFyZUUxZ3o5czcvRzRCQUREa2F6dVl4OXZnZ3FDSlZoWXBrVkU0eW16R2N5NlNsRk1aTlMxR0tJN24wVWg0MkUvUXEyWENYNGhrNTdxemkzTlNacll6N29yUjRaQ0t0eDhVdmY3QnJ4WFB2WnhiSHkyKzJ2V0I4N2lwUjF0dEIyMmpLbmpORGdZbG83aEFHYlE0VXhwTklFbmtHYm1hUC9YMVFtS3NkVVFNcWJuY0NYZUM3WXZPMGdQWHo1eGRHd2dJaS81aWZxakVPUzZGZkdCaWwyczdxSXEzZ1lYUW5sWm1ZVmxWRHFra05kcDhQbisxZnpFZDcvR1E1WFU3NFIzRmJ0bkpkcmpFVERmOTJzc3oxd2RiM2NWZjdRNG52ZUs2eS9PQjgvancyUGdJWUJQNzMxQVYzQTE5OXBvWTBsQmhubGRTQm5hTGtqYTZvT0RZdFpQRFYvckhMbllUV0g5cUgwMnFtYVMwOE9PMzVNNUloaDVjT3pPemxzc3RGZGlvTGFPRUwzZ0RxQyt1ZHRjejR3WkFhL2lSY1NxTXFHb0hJcG53amFneHo1MDgyVFk5SEV5MytKcTl0Qzl3NFFMNjVyTFZwODZtYWZLSzFScVdBcXY2TFFBTFJHcGRtRUpWNklaK21EQ1ZrZFMwSVlRUkpuV1BncUJ3WXQxaE1TS2JQaGp4Y3BHa3hUQzhJUnBiL3hZamtubmw4NzZGbmpIV0YzSjc0MzBMYW1mNE4xT1VMVDJuK1lQT1NIeDYvb1hDeG9SZmx2MStXWTZuaHVTbzRnblR2b0VuM3A3T2JJeG9qZ1Y5cVJiQ1dlaklUc1hvcGFhSXEzZWl6ZTdnV1dmL3NES1RRSS9hNDNJOEZvdTM2K1UyajlCaXNiZzlyZjY2Tm5uRGJET2pvT3huazJORXhrUkpNZmt5MVhvNk5UTmU5b2RhWTI2OC9lQ0NwMlBwb3Y0WWhUTXhqNkEvaEZvTk5BRDRNMzZDSlRDS1VoQ0E3OVpyMTNhUUUyK0RvNTZndlZrMVRQMURzYi9NMkt3VTZhU2o5UE9uc2JqN1ZIQWl0R3lsNnBnc2ZsU0ZzSWxKVU9wdUhVRkc3Wjk1WXlaSGsycWVEVThrcDArWC9hSG9DZU5YTjZvTUJiczZZcEhrSHR3VCtzUEdzY2NiVlJ1OEd6ME84MTYzRTZIU1BuRlV5UVc2anZDdTU5Zk1nZ044LzVQZittZzNuRVo4N21xaGNEV1hXeWtVVm5KZGlVUlhvcXVyTVhzRGEyZlBYQis0VVJyS0Y0MFJyTytOVTVoSFZXQWhBQ0Fjb0RQakpNa0N4eDZzRFFPbmYxeCs3c1hzWWlhVTlWcW5wTXhzUjdzcjlsdjh5NlJYL003cXVmV2N6elAxQTlTMnZ6Uk03dWo3cUFyT0kvcldwNkhPM0ZlVXVGYTd1OW5UMGpyZ1FwWHpxYVRWZXBNZzRpbjlyNENBcSsyZ242RXF5S2F2c3NhYkd6Z3RTWElDcSttRFlweUxGd0tZYzVGUGt2OHZuWXprZ3VHQVArRU45TWUrY3E3M2ZQQ2tOKzN0N1pWQ0EvRVhhU2s0Ny9FSkxNT3pkcnF0Tno0eUs3dm5YTHpzOWh4dkVuc1R3eGZyV1dWcU8yZ0ZyNEZRMy8ycXFHcWFZajRVQjRzTzVxY0tSZWFWR3pkRVArMnhDNnhHZjNYMjBUSjUrL2JxKysxUmtsZ2k2WHF0YkcwSGZZRXFodjlIc3NrMDF0dWZac2JMZ1ZDcnhKZlhteXpCQ1hycElrcnJmMUhqWGo4NnBiZU1SRHNCQVEyQWFxZ0N6UUNLUlJGNDNwQlMweFRMVzcvWUdyS3pkc0xHMnZOMzNrQ1Z6NklsV1M1RlA5TmI5dllScnFDS21lL0RmM2VvZ3RoNGN5bHFhK09ISjBnN1NWRE5OdTFtajgxQkVaU042djcyalFkZFZETkZVRTFVSjZvOGk1NlNwQW54bVhtZWlqN1RXOTRUUjJPeFVmRTlzeDlkRzBTN3FHS2s5TUF2VFRzQytUaGU1OE1PTCtVOEZvM1pxZDl2alRVNTdjUXh4cGE5ODBEb21YcVhKRjVDMWphL0YvMzk0OGhvVkJ3VFA5YWJCcysxMTdXVUFOQ3ZVY1Y4dTFWV1ZNT2NSZUdrRDk5R0wzMzRkQW9sVmlmMVA2NGE5eEsxUVFUd3BwRTdRYzVrNUVoRU5CK1dlcmFMZ1o0K2hBa3NaakpTS2ozLzdxUXJIKzJJU1ltSi9KbjEvVjBGSDZFS1dNemNNdmt5cXVndGdHcHY0bDQ0aTU4WS8yY3dod3BHRTRsb05KSEF2ZTJpMkc3OHdIOEJBQUQvL3dFQUFQLy9kZkxsUFFBQUFBRUFBQUFDQzRVM2NVWDdYdzg4OVFBQkErZ0FBQUFBMkYyZ2hBQUFBQURkWmk4Mi9qZit4QWh0QS9FQUFRQURBQUlBQUFBQUFBQUFBUUFBQTlqKzd3QUFDSmorTi80M0NHMEFBUUFBQUFBQUFBQUFBQUFBQUFBQUFCOENzZ0JRQU1nQUFBSTkvL29DSkFCTkFnd0FUUUtaQUVrQ0R3QXFBajBBUVFIVEFDUUNQUUFuQWdZQUpBRlZBQmdDRmdBaUFqc0FRUUVVQURjQkhnQkJBMWtBUVFJOEFFRUNLd0FrQWowQVFRR09BRUVCdXdBVkFYOEFFUUk0QUR3Q0N3QU1Bd2dBR0FJSkFBd0J6QUFtQVN3QUxnRVVBRUVBQVArdEFBQUFMQUFzQUZBQVpnQjZBSmdBMEFFQ0FTNEJZQUdVQWJvQ0lnSkVBbEFDYkFLZUFzQUM3QU1jQXp3RGVBT2VBOEFEM0FRVUJFUUVXQVI0QklRRW1nQUJBQUFBSHdDUUFBd0FZd0FIQUFFQUFBQUFBQUFBQUFBQUFBQUFCQUFEZUp5Y2xNOXVHMVVVeG45T2JOTUt3UUpGVmJxSjdvSkZrZWpZVkVuVk5pdUgxSXBGRkFlUEMwSkNTQlBQK0k4eW5obDVKZzdoQ1ZqekZyeEZWendFejRGWW8vbDg3TmdGMFNhS2tueDM3dm56blhPK2M0RWQvbWFiU3ZVaDhFYzlNVnhocjM1dWVJc0g5UlBEMjdUclc0YXJQS245YWJoR1dKc2Jydk41cldmNEk5NVdmelA4Z1AzcVQ0WWZzbHR0Ry82WVo5VWR3NTlzTy80eS9Dbjd2RjNnQ3J6Z1Y4TVZkc2tNYjdIRGo0YTNlWVRGckZSNVJOTndqYy9ZTTF4bkQrZ3pvU0JtUXNJSXg1QUpJNjZZRVpIakV6Rmp3cENJRUVlSEZqR0Z2aVlFUW83UmYzNE44Q21ZRVNqaW1BSkhqRTlNUU03WUl2NGlyNVJ6WlJ6cU5MTzdGZ1ZqQWk3a2NVbEFnaU5sUkVwQ3hLWGlGQlJrdktKQmc1eUIrR1lVNUhqa1RJanhTSmt4b2tHWE5xZjBHVE1oeDlGV3BKS1pUOHFRZ21zQzVYZG1VWFptUUVSQ2JxeXVTQWpGMDRsZkpPOE9wemk2WkxKZGozeTZFZUZMSE4vSnUrU1d5dllyUFAyNk5XYWJlWmRzQXVicVo2eXV4THE1MWdUSHVpM3p0dmhXdU9BVjdsNzkyV1R5L2g2RitsOG84Z1ZYbW4rb1NTVmlrdURjTGkxOEtjaDNqM0VjNmR6QlYwZStwME9mRTdxOG9hOXppeDQ5V3B6UnA4TnIrWGJwNGZpYUxtY2N5Nk1qdkxoclN6Rm4vSURqR3pxeUtXTkgxcC9GeENKK0pqTjE1K0k0VXgxVE12VzhaTzZwMWtnVjNuM0M1UTZsRytySTVUUFFIcFdXVHZOTHRHY0JJMU5GSm9aVDlYS3BqZHo2RjVvaXBxcWxuTzN0ZmJrTmM5dTk1UmJma0dxSFM3VXVPSldUV3pCNjMxUzlkelJ6clIrUGdKQ1VDMWtNU0puU29PQkd2TThKdUNMR2NhenVuV2hMQ2xvcm56TFBqVlFTTVJXRERvbml6TWowTnpEZCtNWjlzS0Y3WjI5SktQK1M2ZVdxcXZ0a2NlclY3WXplcUh2TE85KzZISzFOb0dGVFRkZlVOQkRYeExRZmFhZlcrZnZ5emZXNnBUemxpSlNZOEY4dndETThtdXh6d0NGalpSam9abTZ2UTFNdlJKT1hIS3I2U3lKWkRhWG55Q0ljNFBHY0F3NTR5Zk4zK3JoazRveUxXM0ZaejkzaW1DTzZISDVRRlF2N0xrZThYbjM3LzZ5L2kybFR0VGllcms0djdqM0ZKM2RRNnhmYXM5djNzcWVKbFpPWVc3VGJyVGdqWUZweWNidnJOYm5IZVA4QUFBRC8vd0VBQVAvLzlMZFBVWGljWW1CbUFJUC81eGlNR0xBQUFBQUFBUC8vQVFBQS8vOHZBUUlEQUFBQSIpOwp9XV0+PC9zdHlsZT48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwhW0NEQVRBWy5zaGFwZSB7CiAgc2hhcGUtcmVuZGVyaW5nOiBnZW9tZXRyaWNQcmVjaXNpb247CiAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDsKfQouY29ubmVjdGlvbiB7CiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogIHN0cm9rZS1saW5lam9pbjogcm91bmQ7Cn0KLmJsZW5kIHsKICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7CiAgb3BhY2l0eTogMC41Owp9CgoJCS5kMi00MjAxNjYxNzYgLmZpbGwtTjF7ZmlsbDojMEEwRjI1O30KCQkuZDItNDIwMTY2MTc2IC5maWxsLU4ye2ZpbGw6IzY3NkM3RTt9CgkJLmQyLTQyMDE2NjE3NiAuZmlsbC1OM3tmaWxsOiM5NDk5QUI7fQoJCS5kMi00MjAxNjYxNzYgLmZpbGwtTjR7ZmlsbDojQ0ZEMkREO30KCQkuZDItNDIwMTY2MTc2IC5maWxsLU41e2ZpbGw6I0RFRTFFQjt9CgkJLmQyLTQyMDE2NjE3NiAuZmlsbC1ONntmaWxsOiNFRUYxRjg7fQoJCS5kMi00MjAxNjYxNzYgLmZpbGwtTjd7ZmlsbDojRkZGRkZGO30KCQkuZDItNDIwMTY2MTc2IC5maWxsLUIxe2ZpbGw6IzBEMzJCMjt9CgkJLmQyLTQyMDE2NjE3NiAuZmlsbC1CMntmaWxsOiMwRDMyQjI7fQoJCS5kMi00MjAxNjYxNzYgLmZpbGwtQjN7ZmlsbDojRTNFOUZEO30KCQkuZDItNDIwMTY2MTc2IC5maWxsLUI0e2ZpbGw6I0UzRTlGRDt9CgkJLmQyLTQyMDE2NjE3NiAuZmlsbC1CNXtmaWxsOiNFREYwRkQ7fQoJCS5kMi00MjAxNjYxNzYgLmZpbGwtQjZ7ZmlsbDojRjdGOEZFO30KCQkuZDItNDIwMTY2MTc2IC5maWxsLUFBMntmaWxsOiM0QTZGRjM7fQoJCS5kMi00MjAxNjYxNzYgLmZpbGwtQUE0e2ZpbGw6I0VERjBGRDt9CgkJLmQyLTQyMDE2NjE3NiAuZmlsbC1BQTV7ZmlsbDojRjdGOEZFO30KCQkuZDItNDIwMTY2MTc2IC5maWxsLUFCNHtmaWxsOiNFREYwRkQ7fQoJCS5kMi00MjAxNjYxNzYgLmZpbGwtQUI1e2ZpbGw6I0Y3RjhGRTt9CgkJLmQyLTQyMDE2NjE3NiAuc3Ryb2tlLU4xe3N0cm9rZTojMEEwRjI1O30KCQkuZDItNDIwMTY2MTc2IC5zdHJva2UtTjJ7c3Ryb2tlOiM2NzZDN0U7fQoJCS5kMi00MjAxNjYxNzYgLnN0cm9rZS1OM3tzdHJva2U6Izk0OTlBQjt9CgkJLmQyLTQyMDE2NjE3NiAuc3Ryb2tlLU40e3N0cm9rZTojQ0ZEMkREO30KCQkuZDItNDIwMTY2MTc2IC5zdHJva2UtTjV7c3Ryb2tlOiNERUUxRUI7fQoJCS5kMi00MjAxNjYxNzYgLnN0cm9rZS1ONntzdHJva2U6I0VFRjFGODt9CgkJLmQyLTQyMDE2NjE3NiAuc3Ryb2tlLU43e3N0cm9rZTojRkZGRkZGO30KCQkuZDItNDIwMTY2MTc2IC5zdHJva2UtQjF7c3Ryb2tlOiMwRDMyQjI7fQoJCS5kMi00MjAxNjYxNzYgLnN0cm9rZS1CMntzdHJva2U6IzBEMzJCMjt9CgkJLmQyLTQyMDE2NjE3NiAuc3Ryb2tlLUIze3N0cm9rZTojRTNFOUZEO30KCQkuZDItNDIwMTY2MTc2IC5zdHJva2UtQjR7c3Ryb2tlOiNFM0U5RkQ7fQoJCS5kMi00MjAxNjYxNzYgLnN0cm9rZS1CNXtzdHJva2U6I0VERjBGRDt9CgkJLmQyLTQyMDE2NjE3NiAuc3Ryb2tlLUI2e3N0cm9rZTojRjdGOEZFO30KCQkuZDItNDIwMTY2MTc2IC5zdHJva2UtQUEye3N0cm9rZTojNEE2RkYzO30KCQkuZDItNDIwMTY2MTc2IC5zdHJva2UtQUE0e3N0cm9rZTojRURGMEZEO30KCQkuZDItNDIwMTY2MTc2IC5zdHJva2UtQUE1e3N0cm9rZTojRjdGOEZFO30KCQkuZDItNDIwMTY2MTc2IC5zdHJva2UtQUI0e3N0cm9rZTojRURGMEZEO30KCQkuZDItNDIwMTY2MTc2IC5zdHJva2UtQUI1e3N0cm9rZTojRjdGOEZFO30KCQkuZDItNDIwMTY2MTc2IC5iYWNrZ3JvdW5kLWNvbG9yLU4xe2JhY2tncm91bmQtY29sb3I6IzBBMEYyNTt9CgkJLmQyLTQyMDE2NjE3NiAuYmFja2dyb3VuZC1jb2xvci1OMntiYWNrZ3JvdW5kLWNvbG9yOiM2NzZDN0U7fQoJCS5kMi00MjAxNjYxNzYgLmJhY2tncm91bmQtY29sb3ItTjN7YmFja2dyb3VuZC1jb2xvcjojOTQ5OUFCO30KCQkuZDItNDIwMTY2MTc2IC5iYWNrZ3JvdW5kLWNvbG9yLU40e2JhY2tncm91bmQtY29sb3I6I0NGRDJERDt9CgkJLmQyLTQyMDE2NjE3NiAuYmFja2dyb3VuZC1jb2xvci1ONXtiYWNrZ3JvdW5kLWNvbG9yOiNERUUxRUI7fQoJCS5kMi00MjAxNjYxNzYgLmJhY2tncm91bmQtY29sb3ItTjZ7YmFja2dyb3VuZC1jb2xvcjojRUVGMUY4O30KCQkuZDItNDIwMTY2MTc2IC5iYWNrZ3JvdW5kLWNvbG9yLU43e2JhY2tncm91bmQtY29sb3I6I0ZGRkZGRjt9CgkJLmQyLTQyMDE2NjE3NiAuYmFja2dyb3VuZC1jb2xvci1CMXtiYWNrZ3JvdW5kLWNvbG9yOiMwRDMyQjI7fQoJCS5kMi00MjAxNjYxNzYgLmJhY2tncm91bmQtY29sb3ItQjJ7YmFja2dyb3VuZC1jb2xvcjojMEQzMkIyO30KCQkuZDItNDIwMTY2MTc2IC5iYWNrZ3JvdW5kLWNvbG9yLUIze2JhY2tncm91bmQtY29sb3I6I0UzRTlGRDt9CgkJLmQyLTQyMDE2NjE3NiAuYmFja2dyb3VuZC1jb2xvci1CNHtiYWNrZ3JvdW5kLWNvbG9yOiNFM0U5RkQ7fQoJCS5kMi00MjAxNjYxNzYgLmJhY2tncm91bmQtY29sb3ItQjV7YmFja2dyb3VuZC1jb2xvcjojRURGMEZEO30KCQkuZDItNDIwMTY2MTc2IC5iYWNrZ3JvdW5kLWNvbG9yLUI2e2JhY2tncm91bmQtY29sb3I6I0Y3RjhGRTt9CgkJLmQyLTQyMDE2NjE3NiAuYmFja2dyb3VuZC1jb2xvci1BQTJ7YmFja2dyb3VuZC1jb2xvcjojNEE2RkYzO30KCQkuZDItNDIwMTY2MTc2IC5iYWNrZ3JvdW5kLWNvbG9yLUFBNHtiYWNrZ3JvdW5kLWNvbG9yOiNFREYwRkQ7fQoJCS5kMi00MjAxNjYxNzYgLmJhY2tncm91bmQtY29sb3ItQUE1e2JhY2tncm91bmQtY29sb3I6I0Y3RjhGRTt9CgkJLmQyLTQyMDE2NjE3NiAuYmFja2dyb3VuZC1jb2xvci1BQjR7YmFja2dyb3VuZC1jb2xvcjojRURGMEZEO30KCQkuZDItNDIwMTY2MTc2IC5iYWNrZ3JvdW5kLWNvbG9yLUFCNXtiYWNrZ3JvdW5kLWNvbG9yOiNGN0Y4RkU7fQoJCS5kMi00MjAxNjYxNzYgLmNvbG9yLU4xe2NvbG9yOiMwQTBGMjU7fQoJCS5kMi00MjAxNjYxNzYgLmNvbG9yLU4ye2NvbG9yOiM2NzZDN0U7fQoJCS5kMi00MjAxNjYxNzYgLmNvbG9yLU4ze2NvbG9yOiM5NDk5QUI7fQoJCS5kMi00MjAxNjYxNzYgLmNvbG9yLU40e2NvbG9yOiNDRkQyREQ7fQoJCS5kMi00MjAxNjYxNzYgLmNvbG9yLU41e2NvbG9yOiNERUUxRUI7fQoJCS5kMi00MjAxNjYxNzYgLmNvbG9yLU42e2NvbG9yOiNFRUYxRjg7fQoJCS5kMi00MjAxNjYxNzYgLmNvbG9yLU43e2NvbG9yOiNGRkZGRkY7fQoJCS5kMi00MjAxNjYxNzYgLmNvbG9yLUIxe2NvbG9yOiMwRDMyQjI7fQoJCS5kMi00MjAxNjYxNzYgLmNvbG9yLUIye2NvbG9yOiMwRDMyQjI7fQoJCS5kMi00MjAxNjYxNzYgLmNvbG9yLUIze2NvbG9yOiNFM0U5RkQ7fQoJCS5kMi00MjAxNjYxNzYgLmNvbG9yLUI0e2NvbG9yOiNFM0U5RkQ7fQoJCS5kMi00MjAxNjYxNzYgLmNvbG9yLUI1e2NvbG9yOiNFREYwRkQ7fQoJCS5kMi00MjAxNjYxNzYgLmNvbG9yLUI2e2NvbG9yOiNGN0Y4RkU7fQoJCS5kMi00MjAxNjYxNzYgLmNvbG9yLUFBMntjb2xvcjojNEE2RkYzO30KCQkuZDItNDIwMTY2MTc2IC5jb2xvci1BQTR7Y29sb3I6I0VERjBGRDt9CgkJLmQyLTQyMDE2NjE3NiAuY29sb3ItQUE1e2NvbG9yOiNGN0Y4RkU7fQoJCS5kMi00MjAxNjYxNzYgLmNvbG9yLUFCNHtjb2xvcjojRURGMEZEO30KCQkuZDItNDIwMTY2MTc2IC5jb2xvci1BQjV7Y29sb3I6I0Y3RjhGRTt9LmFwcGVuZGl4IHRleHQudGV4dHtmaWxsOiMwQTBGMjV9Lm1key0tY29sb3ItZmctZGVmYXVsdDojMEEwRjI1Oy0tY29sb3ItZmctbXV0ZWQ6IzY3NkM3RTstLWNvbG9yLWZnLXN1YnRsZTojOTQ5OUFCOy0tY29sb3ItY2FudmFzLWRlZmF1bHQ6I0ZGRkZGRjstLWNvbG9yLWNhbnZhcy1zdWJ0bGU6I0VFRjFGODstLWNvbG9yLWJvcmRlci1kZWZhdWx0OiMwRDMyQjI7LS1jb2xvci1ib3JkZXItbXV0ZWQ6IzBEMzJCMjstLWNvbG9yLW5ldXRyYWwtbXV0ZWQ6I0VFRjFGODstLWNvbG9yLWFjY2VudC1mZzojMEQzMkIyOy0tY29sb3ItYWNjZW50LWVtcGhhc2lzOiMwRDMyQjI7LS1jb2xvci1hdHRlbnRpb24tc3VidGxlOiM2NzZDN0U7LS1jb2xvci1kYW5nZXItZmc6cmVkO30uc2tldGNoLW92ZXJsYXktQjF7ZmlsbDp1cmwoI3N0cmVha3MtZGFya2VyLWQyLTQyMDE2NjE3Nik7bWl4LWJsZW5kLW1vZGU6bGlnaHRlbn0uc2tldGNoLW92ZXJsYXktQjJ7ZmlsbDp1cmwoI3N0cmVha3MtZGFya2VyLWQyLTQyMDE2NjE3Nik7bWl4LWJsZW5kLW1vZGU6bGlnaHRlbn0uc2tldGNoLW92ZXJsYXktQjN7ZmlsbDp1cmwoI3N0cmVha3MtYnJpZ2h0LWQyLTQyMDE2NjE3Nik7bWl4LWJsZW5kLW1vZGU6ZGFya2VufS5za2V0Y2gtb3ZlcmxheS1CNHtmaWxsOnVybCgjc3RyZWFrcy1icmlnaHQtZDItNDIwMTY2MTc2KTttaXgtYmxlbmQtbW9kZTpkYXJrZW59LnNrZXRjaC1vdmVybGF5LUI1e2ZpbGw6dXJsKCNzdHJlYWtzLWJyaWdodC1kMi00MjAxNjYxNzYpO21peC1ibGVuZC1tb2RlOmRhcmtlbn0uc2tldGNoLW92ZXJsYXktQjZ7ZmlsbDp1cmwoI3N0cmVha3MtYnJpZ2h0LWQyLTQyMDE2NjE3Nik7bWl4LWJsZW5kLW1vZGU6ZGFya2VufS5za2V0Y2gtb3ZlcmxheS1BQTJ7ZmlsbDp1cmwoI3N0cmVha3MtZGFyay1kMi00MjAxNjYxNzYpO21peC1ibGVuZC1tb2RlOm92ZXJsYXl9LnNrZXRjaC1vdmVybGF5LUFBNHtmaWxsOnVybCgjc3RyZWFrcy1icmlnaHQtZDItNDIwMTY2MTc2KTttaXgtYmxlbmQtbW9kZTpkYXJrZW59LnNrZXRjaC1vdmVybGF5LUFBNXtmaWxsOnVybCgjc3RyZWFrcy1icmlnaHQtZDItNDIwMTY2MTc2KTttaXgtYmxlbmQtbW9kZTpkYXJrZW59LnNrZXRjaC1vdmVybGF5LUFCNHtmaWxsOnVybCgjc3RyZWFrcy1icmlnaHQtZDItNDIwMTY2MTc2KTttaXgtYmxlbmQtbW9kZTpkYXJrZW59LnNrZXRjaC1vdmVybGF5LUFCNXtmaWxsOnVybCgjc3RyZWFrcy1icmlnaHQtZDItNDIwMTY2MTc2KTttaXgtYmxlbmQtbW9kZTpkYXJrZW59LnNrZXRjaC1vdmVybGF5LU4xe2ZpbGw6dXJsKCNzdHJlYWtzLWRhcmtlci1kMi00MjAxNjYxNzYpO21peC1ibGVuZC1tb2RlOmxpZ2h0ZW59LnNrZXRjaC1vdmVybGF5LU4ye2ZpbGw6dXJsKCNzdHJlYWtzLWRhcmstZDItNDIwMTY2MTc2KTttaXgtYmxlbmQtbW9kZTpvdmVybGF5fS5za2V0Y2gtb3ZlcmxheS1OM3tmaWxsOnVybCgjc3RyZWFrcy1ub3JtYWwtZDItNDIwMTY2MTc2KTttaXgtYmxlbmQtbW9kZTpjb2xvci1idXJufS5za2V0Y2gtb3ZlcmxheS1ONHtmaWxsOnVybCgjc3RyZWFrcy1ub3JtYWwtZDItNDIwMTY2MTc2KTttaXgtYmxlbmQtbW9kZTpjb2xvci1idXJufS5za2V0Y2gtb3ZlcmxheS1ONXtmaWxsOnVybCgjc3RyZWFrcy1icmlnaHQtZDItNDIwMTY2MTc2KTttaXgtYmxlbmQtbW9kZTpkYXJrZW59LnNrZXRjaC1vdmVybGF5LU42e2ZpbGw6dXJsKCNzdHJlYWtzLWJyaWdodC1kMi00MjAxNjYxNzYpO21peC1ibGVuZC1tb2RlOmRhcmtlbn0uc2tldGNoLW92ZXJsYXktTjd7ZmlsbDp1cmwoI3N0cmVha3MtYnJpZ2h0LWQyLTQyMDE2NjE3Nik7bWl4LWJsZW5kLW1vZGU6ZGFya2VufS5saWdodC1jb2Rle2Rpc3BsYXk6IGJsb2NrfS5kYXJrLWNvZGV7ZGlzcGxheTogbm9uZX1dXT48L3N0eWxlPjxnIGNsYXNzPSJjbUYzIj48ZyBjbGFzcz0ic2hhcGUiID48cmVjdCB4PSIxNTAuMDAwMDAwIiB5PSIwLjAwMDAwMCIgd2lkdGg9IjQyMC4wMDAwMDAiIGhlaWdodD0iNjYuMDAwMDAwIiBzdHJva2U9IiMwRDMyQjIiIGZpbGw9IiNGN0Y4RkUiIGNsYXNzPSIgc3Ryb2tlLUIxIGZpbGwtQjYiIHN0eWxlPSJzdHJva2Utd2lkdGg6MjsiIC8+PC9nPjx0ZXh0IHg9IjM2MC4wMDAwMDAiIHk9IjM4LjUwMDAwMCIgZmlsbD0iIzBBMEYyNSIgY2xhc3M9InRleHQtYm9sZCBmaWxsLU4xIiBzdHlsZT0idGV4dC1hbmNob3I6bWlkZGxlO2ZvbnQtc2l6ZToxNnB4Ij5BenVyZSByZXBvcnRzIHN0YXJ0ZWQsIGNvbXBsZXRlZCBhbmQgZmFpbGVkIHRvZ2V0aGVyPC90ZXh0PjwvZz48ZyBjbGFzcz0iYzNWdCI+PGcgY2xhc3M9InNoYXBlIiA+PHJlY3QgeD0iMC4wMDAwMDAiIHk9IjE2Ni4wMDAwMDAiIHdpZHRoPSIzMzEuMDAwMDAwIiBoZWlnaHQ9IjY2LjAwMDAwMCIgc3Ryb2tlPSIjMEQzMkIyIiBmaWxsPSIjRjdGOEZFIiBjbGFzcz0iIHN0cm9rZS1CMSBmaWxsLUI2IiBzdHlsZT0ic3Ryb2tlLXdpZHRoOjI7IiAvPjwvZz48dGV4dCB4PSIxNjUuNTAwMDAwIiB5PSIyMDQuNTAwMDAwIiBmaWxsPSIjMEEwRjI1IiBjbGFzcz0idGV4dC1ib2xkIGZpbGwtTjEiIHN0eWxlPSJ0ZXh0LWFuY2hvcjptaWRkbGU7Zm9udC1zaXplOjE2cHgiPlVuc3BsaXQgZmV0Y2ggc3VtcyB0aGUgdG90YWwgYW5kIGl0cyBwYXJ0czwvdGV4dD48L2c+PGcgY2xhc3M9ImRIZHBZMlU9Ij48ZyBjbGFzcz0ic2hhcGUiID48cmVjdCB4PSI1MC4wMDAwMDAiIHk9IjMzMi4wMDAwMDAiIHdpZHRoPSIyMzEuMDAwMDAwIiBoZWlnaHQ9IjY2LjAwMDAwMCIgc3Ryb2tlPSIjMEQzMkIyIiBmaWxsPSIjRjdGOEZFIiBjbGFzcz0iIHN0cm9rZS1CMSBmaWxsLUI2IiBzdHlsZT0ic3Ryb2tlLXdpZHRoOjI7IiAvPjwvZz48dGV4dCB4PSIxNjUuNTAwMDAwIiB5PSIzNzAuNTAwMDAwIiBmaWxsPSIjMEEwRjI1IiBjbGFzcz0idGV4dC1ib2xkIGZpbGwtTjEiIHN0eWxlPSJ0ZXh0LWFuY2hvcjptaWRkbGU7Zm9udC1zaXplOjE2cHgiPkV2ZXJ5IGNhbGwgaXMgY291bnRlZCB0d2ljZTwvdGV4dD48L2c+PGcgY2xhc3M9ImMzQnNhWFE9Ij48ZyBjbGFzcz0ic2hhcGUiID48cmVjdCB4PSIzOTEuMDAwMDAwIiB5PSIxNjYuMDAwMDAwIiB3aWR0aD0iMzI4LjAwMDAwMCIgaGVpZ2h0PSI2Ni4wMDAwMDAiIHN0cm9rZT0iIzBEMzJCMiIgZmlsbD0iI0Y3RjhGRSIgY2xhc3M9IiBzdHJva2UtQjEgZmlsbC1CNiIgc3R5bGU9InN0cm9rZS13aWR0aDoyOyIgLz48L2c+PHRleHQgeD0iNTU1LjAwMDAwMCIgeT0iMjA0LjUwMDAwMCIgZmlsbD0iIzBBMEYyNSIgY2xhc3M9InRleHQtYm9sZCBmaWxsLU4xIiBzdHlsZT0idGV4dC1hbmNob3I6bWlkZGxlO2ZvbnQtc2l6ZToxNnB4Ij5GZXRjaCBzcGxpdCBieSBhZ2VudCBhbmQgcmVzcG9uc2Ugc3RhdHVzPC90ZXh0PjwvZz48ZyBjbGFzcz0iYjI1alpRPT0iPjxnIGNsYXNzPSJzaGFwZSIgPjxyZWN0IHg9IjQ0Ni4wMDAwMDAiIHk9IjMzMi4wMDAwMDAiIHdpZHRoPSIyMTkuMDAwMDAwIiBoZWlnaHQ9IjY2LjAwMDAwMCIgc3Ryb2tlPSIjMEQzMkIyIiBmaWxsPSIjRjdGOEZFIiBjbGFzcz0iIHN0cm9rZS1CMSBmaWxsLUI2IiBzdHlsZT0ic3Ryb2tlLXdpZHRoOjI7IiAvPjwvZz48dGV4dCB4PSI1NTUuNTAwMDAwIiB5PSIzNzAuNTAwMDAwIiBmaWxsPSIjMEEwRjI1IiBjbGFzcz0idGV4dC1ib2xkIGZpbGwtTjEiIHN0eWxlPSJ0ZXh0LWFuY2hvcjptaWRkbGU7Zm9udC1zaXplOjE2cHgiPkVhY2ggY2FsbCBpcyBjb3VudGVkIG9uY2U8L3RleHQ+PC9nPjxnIGNsYXNzPSJLSEpoZHlBdEptZDBPeUJ6ZFcwcFd6QmQiPjxtYXJrZXIgaWQ9Im1rLWQyLTQyMDE2NjE3Ni0zNDg4Mzc4MTM0IiBtYXJrZXJXaWR0aD0iMTAuMDAwMDAwIiBtYXJrZXJIZWlnaHQ9IjEyLjAwMDAwMCIgcmVmWD0iNy4wMDAwMDAiIHJlZlk9IjYuMDAwMDAwIiB2aWV3Qm94PSIwLjAwMDAwMCAwLjAwMDAwMCAxMC4wMDAwMDAgMTIuMDAwMDAwIiBvcmllbnQ9ImF1dG8iIG1hcmtlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+IDxwb2x5Z29uIHBvaW50cz0iMC4wMDAwMDAsMC4wMDAwMDAgMTAuMDAwMDAwLDYuMDAwMDAwIDAuMDAwMDAwLDEyLjAwMDAwMCIgZmlsbD0iIzBEMzJCMiIgY2xhc3M9ImNvbm5lY3Rpb24gZmlsbC1CMSIgc3Ryb2tlLXdpZHRoPSIyIiAvPiA8L21hcmtlcj48cGF0aCBkPSJNIDI4MC42NjA4OTUgNjYuNzg1OTM0IEMgMTg4Ljg5OTAwMiAxMDYuMDAwMDAwIDE2NS41MDAwMDAgMTI2LjAwMDAwMCAxNjUuNTAwMDAwIDE2Mi4wMDAwMDAiIHN0cm9rZT0iIzBEMzJCMiIgZmlsbD0ibm9uZSIgY2xhc3M9ImNvbm5lY3Rpb24gc3Ryb2tlLUIxIiBzdHlsZT0ic3Ryb2tlLXdpZHRoOjI7IiBtYXJrZXItZW5kPSJ1cmwoI21rLWQyLTQyMDE2NjE3Ni0zNDg4Mzc4MTM0KSIgbWFzaz0idXJsKCNkMi00MjAxNjYxNzYpIiAvPjwvZz48ZyBjbGFzcz0iS0hOMWJTQXRKbWQwT3lCMGQybGpaU2xiTUYwPSI+PHBhdGggZD0iTSAxNjUuNTAwMDAwIDIzNC4wMDAwMDAgQyAxNjUuNTAwMDAwIDI3Mi4wMDAwMDAgMTY1LjUwMDAwMCAyOTIuMDAwMDAwIDE2NS41MDAwMDAgMzI4LjAwMDAwMCIgc3Ryb2tlPSIjMEQzMkIyIiBmaWxsPSJub25lIiBjbGFzcz0iY29ubmVjdGlvbiBzdHJva2UtQjEiIHN0eWxlPSJzdHJva2Utd2lkdGg6MjsiIG1hcmtlci1lbmQ9InVybCgjbWstZDItNDIwMTY2MTc2LTM0ODgzNzgxMzQpIiBtYXNrPSJ1cmwoI2QyLTQyMDE2NjE3NikiIC8+PC9nPjxnIGNsYXNzPSJLSEpoZHlBdEptZDBPeUJ6Y0d4cGRDbGJNRjA9Ij48cGF0aCBkPSJNIDQzOS44MzkxMDIgNjYuNzg1OTQxIEMgNTMxLjU5OTk3NiAxMDYuMDAwMDAwIDU1NS4wMDAwMDAgMTI2LjAwMDAwMCA1NTUuMDAwMDAwIDE2Mi4wMDAwMDAiIHN0cm9rZT0iIzBEMzJCMiIgZmlsbD0ibm9uZSIgY2xhc3M9ImNvbm5lY3Rpb24gc3Ryb2tlLUIxIiBzdHlsZT0ic3Ryb2tlLXdpZHRoOjI7IiBtYXJrZXItZW5kPSJ1cmwoI21rLWQyLTQyMDE2NjE3Ni0zNDg4Mzc4MTM0KSIgbWFzaz0idXJsKCNkMi00MjAxNjYxNzYpIiAvPjwvZz48ZyBjbGFzcz0iS0hOd2JHbDBJQzBtWjNRN0lHOXVZMlVwV3pCZCI+PHBhdGggZD0iTSA1NTUuMDAwMDAwIDIzNC4wMDAwMDAgQyA1NTUuMDAwMDAwIDI3Mi4wMDAwMDAgNTU1LjAwMDAwMCAyOTIuMDAwMDAwIDU1NS4wMDAwMDAgMzI4LjAwMDAwMCIgc3Ryb2tlPSIjMEQzMkIyIiBmaWxsPSJub25lIiBjbGFzcz0iY29ubmVjdGlvbiBzdHJva2UtQjEiIHN0eWxlPSJzdHJva2Utd2lkdGg6MjsiIG1hcmtlci1lbmQ9InVybCgjbWstZDItNDIwMTY2MTc2LTM0ODgzNzgxMzQpIiBtYXNrPSJ1cmwoI2QyLTQyMDE2NjE3NikiIC8+PC9nPjxtYXNrIGlkPSJkMi00MjAxNjYxNzYiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9Ii0xMDEiIHk9Ii0xMDEiIHdpZHRoPSI5MjEiIGhlaWdodD0iNjAwIj4KPHJlY3QgeD0iLTEwMSIgeT0iLTEwMSIgd2lkdGg9IjkyMSIgaGVpZ2h0PSI2MDAiIGZpbGw9IndoaXRlIj48L3JlY3Q+Cgo8L21hc2s+PC9zdmc+PC9zdmc+Cg==" alt="Architecture diagram" style={{maxWidth:"100%",height:"auto",display:"block",margin:"2em auto"}} />

The error was invisible in shape. A doubled series still rises and falls with the real one, so a chart built on it looks plausible. It only showed up when the displayed number was compared with the number of calls the sandbox had actually made.

## One Split Call Per Project

The aggregator now asks Azure Monitor for the metric split by agent and by response status, in a single call per project. It stores three series instead of one: requests, completed responses, and failed responses. Tool calls are split by tool name, so the drawer can show calls per tool type instead of a single total.

Storing completed and failed separately is what makes the error rate possible. A rate needs a numerator and a denominator that are each counted once, and the old summed series could provide neither.

## Failing Means 20 Percent of at Least 20

The Failing flag has two conditions, and both matter. The failure share must be 20 percent or more, and the agent must have made at least 20 requests. Without the minimum, an agent that made two calls and lost one would be flagged at 50 percent, which says nothing about the agent.

| Requests | Failed | Flagged |
|---|---|---|
| 10 | 5 | No, below 20 requests |
| 20 | 3 | No, 15 percent |
| 20 | 4 | Yes, 20 percent |
| 100 | 25 | Yes, 25 percent |

This works when the agent's failures come from a limit on its deployment, which is why the flag points at the rate limit. It is a pointer, not a diagnosis: a failing agent can also fail for reasons that have nothing to do with a limit, and the flag only tells you where to look first.

## What Is Kept About a Tool, and What Is Not

For each tool, the discoverer keeps the type, the name and the description. It never stores the tool's schema, its server URL, or the agent's own instructions. Those are the parts of an agent definition most likely to contain something sensitive, and none of them is needed to chart how often a tool is called. A monitoring view that never stores them cannot expose them.

## Backfilling Without Mixing Old and New

A series still stored under the old summed key is treated as cold once, so the new keys backfill the last 60 days from Azure. Mixing the old and new series would have drawn a chart that halves partway across. Expect one cold metrics sync per agent after deploy.

The corrected counts were reconciled 238 of 238 against Azure Monitor and Cost Management on the sandbox, meaning every figure checked matched its source. That sandbox is a test environment, not customer data, but it is the same comparison that exposed the doubling in the first place.
