set user agent correctly
add statistics fix bug
This commit is contained in:
@@ -16,6 +16,8 @@ public partial class MareHub
|
|||||||
|
|
||||||
public string UserUID => Context.User?.Claims?.SingleOrDefault(c => string.Equals(c.Type, MareClaimTypes.Uid, StringComparison.Ordinal))?.Value ?? throw new Exception("No UID in Claims");
|
public string UserUID => Context.User?.Claims?.SingleOrDefault(c => string.Equals(c.Type, MareClaimTypes.Uid, StringComparison.Ordinal))?.Value ?? throw new Exception("No UID in Claims");
|
||||||
|
|
||||||
|
public string Continent => Context.User?.Claims?.SingleOrDefault(c => string.Equals(c.Type, MareClaimTypes.Continent, StringComparison.Ordinal))?.Value ?? "UNK";
|
||||||
|
|
||||||
private async Task DeleteUser(User user)
|
private async Task DeleteUser(User user)
|
||||||
{
|
{
|
||||||
var ownPairData = await _dbContext.ClientPairs.Where(u => u.User.UID == user.UID).ToListAsync().ConfigureAwait(false);
|
var ownPairData = await _dbContext.ClientPairs.Where(u => u.User.UID == user.UID).ToListAsync().ConfigureAwait(false);
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ public partial class MareHub : Hub<IMareHub>, IMareHub
|
|||||||
[Authorize(Policy = "Authenticated")]
|
[Authorize(Policy = "Authenticated")]
|
||||||
public override async Task OnConnectedAsync()
|
public override async Task OnConnectedAsync()
|
||||||
{
|
{
|
||||||
_mareMetrics.IncGauge(MetricsAPI.GaugeConnections);
|
_mareMetrics.IncGaugeWithLabels(MetricsAPI.GaugeConnections, labels: Continent);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -109,7 +109,7 @@ public partial class MareHub : Hub<IMareHub>, IMareHub
|
|||||||
[Authorize(Policy = "Authenticated")]
|
[Authorize(Policy = "Authenticated")]
|
||||||
public override async Task OnDisconnectedAsync(Exception exception)
|
public override async Task OnDisconnectedAsync(Exception exception)
|
||||||
{
|
{
|
||||||
_mareMetrics.DecGauge(MetricsAPI.GaugeConnections);
|
_mareMetrics.DecGaugeWithLabels(MetricsAPI.GaugeConnections, labels: Continent);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -17,7 +17,10 @@ public class MareMetrics
|
|||||||
foreach (var gauge in gaugesToServe)
|
foreach (var gauge in gaugesToServe)
|
||||||
{
|
{
|
||||||
logger.LogInformation($"Creating Metric for Counter {gauge}");
|
logger.LogInformation($"Creating Metric for Counter {gauge}");
|
||||||
gauges.Add(gauge, Prometheus.Metrics.CreateGauge(gauge, gauge));
|
if (!string.Equals(gauge, MetricsAPI.GaugeConnections, StringComparison.OrdinalIgnoreCase))
|
||||||
|
gauges.Add(gauge, Prometheus.Metrics.CreateGauge(gauge, gauge));
|
||||||
|
else
|
||||||
|
gauges.Add(gauge, Prometheus.Metrics.CreateGauge(gauge, gauge, new[] { "continent" }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,6 +28,22 @@ public class MareMetrics
|
|||||||
|
|
||||||
private readonly Dictionary<string, Gauge> gauges = new(StringComparer.Ordinal);
|
private readonly Dictionary<string, Gauge> gauges = new(StringComparer.Ordinal);
|
||||||
|
|
||||||
|
public void IncGaugeWithLabels(string gaugeName, double value = 1.0, params string[] labels)
|
||||||
|
{
|
||||||
|
if (_gauges.TryGetValue(gaugeName, out Gauge gauge))
|
||||||
|
{
|
||||||
|
gauge.WithLabels(labels).Inc(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void DecGaugeWithLabels(string gaugeName, double value = 1.0, params string[] labels)
|
||||||
|
{
|
||||||
|
if (_gauges.TryGetValue(gaugeName, out Gauge gauge))
|
||||||
|
{
|
||||||
|
gauge.WithLabels(labels).Dec(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void SetGaugeTo(string gaugeName, double value)
|
public void SetGaugeTo(string gaugeName, double value)
|
||||||
{
|
{
|
||||||
if (gauges.ContainsKey(gaugeName))
|
if (gauges.ContainsKey(gaugeName))
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
public class MetricsAPI
|
public class MetricsAPI
|
||||||
{
|
{
|
||||||
public const string CounterInitializedConnections = "mare_initialized_connections";
|
public const string CounterInitializedConnections = "mare_initialized_connections";
|
||||||
public const string GaugeConnections = "mare_unauthorized_connections";
|
public const string GaugeConnections = "mare_connections";
|
||||||
public const string GaugeAuthorizedConnections = "mare_authorized_connections";
|
public const string GaugeAuthorizedConnections = "mare_authorized_connections";
|
||||||
public const string GaugeAvailableWorkerThreads = "mare_available_threadpool";
|
public const string GaugeAvailableWorkerThreads = "mare_available_threadpool";
|
||||||
public const string GaugeAvailableIOWorkerThreads = "mare_available_threadpool_io";
|
public const string GaugeAvailableIOWorkerThreads = "mare_available_threadpool_io";
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public sealed class CachedFileProvider : IDisposable
|
|||||||
_isDistributionServer = configuration.GetValueOrDefault(nameof(StaticFilesServerConfiguration.IsDistributionNode), false);
|
_isDistributionServer = configuration.GetValueOrDefault(nameof(StaticFilesServerConfiguration.IsDistributionNode), false);
|
||||||
_basePath = configuration.GetValue<string>(nameof(StaticFilesServerConfiguration.CacheDirectory));
|
_basePath = configuration.GetValue<string>(nameof(StaticFilesServerConfiguration.CacheDirectory));
|
||||||
_httpClient = new();
|
_httpClient = new();
|
||||||
_httpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("MareSynchronosServer"));
|
_httpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("MareSynchronosServer", "1.0.0.0"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public class ShardClientReadyMessageService : IClientReadyMessageService
|
|||||||
_tokenGenerator = tokenGenerator;
|
_tokenGenerator = tokenGenerator;
|
||||||
_configurationService = configurationService;
|
_configurationService = configurationService;
|
||||||
_httpClient = new();
|
_httpClient = new();
|
||||||
_httpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("MareSynchronosServer"));
|
_httpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("MareSynchronosServer", "1.0.0.0"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendDownloadReady(string uid, Guid requestId)
|
public void SendDownloadReady(string uid, Guid requestId)
|
||||||
|
|||||||
Reference in New Issue
Block a user