up
Some checks failed
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
Some checks failed
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
This commit is contained in:
@@ -291,6 +291,90 @@ public static class PolicyEngineTelemetry
|
||||
/// </summary>
|
||||
public static Counter<long> ProfileEventsPublished => ProfileEventsPublishedCounter;
|
||||
|
||||
// Counter: policy_events_processed_total
|
||||
private static readonly Counter<long> PolicyEventsProcessedCounter =
|
||||
Meter.CreateCounter<long>(
|
||||
"policy_events_processed_total",
|
||||
unit: "events",
|
||||
description: "Total policy change events processed.");
|
||||
|
||||
/// <summary>
|
||||
/// Counter for policy change events processed.
|
||||
/// </summary>
|
||||
public static Counter<long> PolicyEventsProcessed => PolicyEventsProcessedCounter;
|
||||
|
||||
// Counter: policy_effective_events_published_total
|
||||
private static readonly Counter<long> PolicyEffectiveEventsPublishedCounter =
|
||||
Meter.CreateCounter<long>(
|
||||
"policy_effective_events_published_total",
|
||||
unit: "events",
|
||||
description: "Total policy.effective.* events published.");
|
||||
|
||||
/// <summary>
|
||||
/// Counter for policy effective events published.
|
||||
/// </summary>
|
||||
public static Counter<long> PolicyEffectiveEventsPublished => PolicyEffectiveEventsPublishedCounter;
|
||||
|
||||
// Counter: policy_reevaluation_jobs_scheduled_total
|
||||
private static readonly Counter<long> ReEvaluationJobsScheduledCounter =
|
||||
Meter.CreateCounter<long>(
|
||||
"policy_reevaluation_jobs_scheduled_total",
|
||||
unit: "jobs",
|
||||
description: "Total re-evaluation jobs scheduled.");
|
||||
|
||||
/// <summary>
|
||||
/// Counter for re-evaluation jobs scheduled.
|
||||
/// </summary>
|
||||
public static Counter<long> ReEvaluationJobsScheduled => ReEvaluationJobsScheduledCounter;
|
||||
|
||||
// Counter: policy_explain_traces_stored_total
|
||||
private static readonly Counter<long> ExplainTracesStoredCounter =
|
||||
Meter.CreateCounter<long>(
|
||||
"policy_explain_traces_stored_total",
|
||||
unit: "traces",
|
||||
description: "Total explain traces stored for decision audit.");
|
||||
|
||||
/// <summary>
|
||||
/// Counter for explain traces stored.
|
||||
/// </summary>
|
||||
public static Counter<long> ExplainTracesStored => ExplainTracesStoredCounter;
|
||||
|
||||
// Counter: policy_effective_decision_map_operations_total
|
||||
private static readonly Counter<long> EffectiveDecisionMapOperationsCounter =
|
||||
Meter.CreateCounter<long>(
|
||||
"policy_effective_decision_map_operations_total",
|
||||
unit: "operations",
|
||||
description: "Total effective decision map operations (set, get, invalidate).");
|
||||
|
||||
/// <summary>
|
||||
/// Counter for effective decision map operations.
|
||||
/// </summary>
|
||||
public static Counter<long> EffectiveDecisionMapOperations => EffectiveDecisionMapOperationsCounter;
|
||||
|
||||
// Counter: policy_exception_operations_total{tenant,operation}
|
||||
private static readonly Counter<long> ExceptionOperationsCounter =
|
||||
Meter.CreateCounter<long>(
|
||||
"policy_exception_operations_total",
|
||||
unit: "operations",
|
||||
description: "Total policy exception operations (create, update, revoke, review_*).");
|
||||
|
||||
/// <summary>
|
||||
/// Counter for policy exception operations.
|
||||
/// </summary>
|
||||
public static Counter<long> ExceptionOperations => ExceptionOperationsCounter;
|
||||
|
||||
// Counter: policy_exception_cache_operations_total{tenant,operation}
|
||||
private static readonly Counter<long> ExceptionCacheOperationsCounter =
|
||||
Meter.CreateCounter<long>(
|
||||
"policy_exception_cache_operations_total",
|
||||
unit: "operations",
|
||||
description: "Total exception cache operations (hit, miss, set, warm, invalidate).");
|
||||
|
||||
/// <summary>
|
||||
/// Counter for exception cache operations.
|
||||
/// </summary>
|
||||
public static Counter<long> ExceptionCacheOperations => ExceptionCacheOperationsCounter;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Reachability Metrics
|
||||
@@ -506,6 +590,38 @@ public static class PolicyEngineTelemetry
|
||||
PolicySimulationCounter.Add(1, tags);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Records a policy exception operation.
|
||||
/// </summary>
|
||||
/// <param name="tenant">Tenant identifier.</param>
|
||||
/// <param name="operation">Operation type (create, update, revoke, review_create, review_decision_*, etc.).</param>
|
||||
public static void RecordExceptionOperation(string tenant, string operation)
|
||||
{
|
||||
var tags = new TagList
|
||||
{
|
||||
{ "tenant", NormalizeTenant(tenant) },
|
||||
{ "operation", NormalizeTag(operation) },
|
||||
};
|
||||
|
||||
ExceptionOperationsCounter.Add(1, tags);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Records an exception cache operation.
|
||||
/// </summary>
|
||||
/// <param name="tenant">Tenant identifier.</param>
|
||||
/// <param name="operation">Operation type (hit, miss, set, warm, invalidate_*, event_*).</param>
|
||||
public static void RecordExceptionCacheOperation(string tenant, string operation)
|
||||
{
|
||||
var tags = new TagList
|
||||
{
|
||||
{ "tenant", NormalizeTenant(tenant) },
|
||||
{ "operation", NormalizeTag(operation) },
|
||||
};
|
||||
|
||||
ExceptionCacheOperationsCounter.Add(1, tags);
|
||||
}
|
||||
|
||||
#region Golden Signals - Recording Methods
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user