Horde: Only let OTel gauge in ComputeService be scraped once

[CL 27989206 by carl bystrom in ue5-main branch]
This commit is contained in:
carl bystrom
2023-09-19 04:45:50 -04:00
parent ce7809ce63
commit e7129a043c

View File

@@ -70,7 +70,7 @@ namespace Horde.Server.Compute
readonly Counter<int> _allocationsDeniedCount;
readonly ITicker _ticker;
IEnumerable<Measurement<int>> _measurements = new List<Measurement<int>>();
List<Measurement<int>> _measurements = new ();
/// <summary>
/// Constructor
@@ -87,7 +87,12 @@ namespace Horde.Server.Compute
_allocationsAcceptedCount = meter.CreateCounter<int>("horde.compute.allocations.accepted");
_allocationsDeniedCount = meter.CreateCounter<int>("horde.compute.allocations.denied");
meter.CreateObservableGauge("horde.compute.allocations.unserved", () => _measurements);
meter.CreateObservableGauge("horde.compute.allocations.unserved", () =>
{
List<Measurement<int>> temp = new(_measurements);
_measurements.Clear();
return temp;
});
}
/// <inheritdoc/>