38 lines
1.2 KiB
C#
38 lines
1.2 KiB
C#
using System.Diagnostics;
|
|
|
|
namespace StellaOps.Provcache;
|
|
|
|
public static partial class ProvcacheTelemetry
|
|
{
|
|
/// <summary>
|
|
/// Mark an activity as a cache hit.
|
|
/// </summary>
|
|
/// <param name="activity">The activity to mark.</param>
|
|
/// <param name="source">The source of the hit (valkey, postgres).</param>
|
|
public static void MarkCacheHit(Activity? activity, string source)
|
|
{
|
|
activity?.SetTag("provcache.result", ResultHit);
|
|
activity?.SetTag("provcache.source", source);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Mark an activity as a cache miss.
|
|
/// </summary>
|
|
/// <param name="activity">The activity to mark.</param>
|
|
public static void MarkCacheMiss(Activity? activity)
|
|
{
|
|
activity?.SetTag("provcache.result", ResultMiss);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Mark an activity as having an error.
|
|
/// </summary>
|
|
/// <param name="activity">The activity to mark.</param>
|
|
/// <param name="errorMessage">The error message.</param>
|
|
public static void MarkError(Activity? activity, string errorMessage)
|
|
{
|
|
activity?.SetStatus(ActivityStatusCode.Error, errorMessage);
|
|
activity?.SetTag("provcache.result", ResultError);
|
|
}
|
|
}
|