diff --git a/server/AyaNova/Controllers/MetricsController.cs b/server/AyaNova/Controllers/MetricsController.cs
index 581a135c..88f604b8 100644
--- a/server/AyaNova/Controllers/MetricsController.cs
+++ b/server/AyaNova/Controllers/MetricsController.cs
@@ -1,127 +1,127 @@
-// using System.IO;
-// using System.Threading.Tasks;
-// using Microsoft.AspNetCore.Http;
-// using Microsoft.AspNetCore.Mvc;
-// using Microsoft.AspNetCore.Routing;
-// using Microsoft.AspNetCore.Authorization;
-// using Microsoft.Extensions.Logging;
-// using Newtonsoft.Json.Linq;
+using System.IO;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Routing;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.Extensions.Logging;
+using Newtonsoft.Json.Linq;
-// using AyaNova.Models;
-// using AyaNova.Api.ControllerHelpers;
-// using AyaNova.Biz;
+using AyaNova.Models;
+using AyaNova.Api.ControllerHelpers;
+using AyaNova.Biz;
-// namespace AyaNova.Api.Controllers
-// {
+namespace AyaNova.Api.Controllers
+{
-// ///
-// /// Log files controller
-// ///
-// [ApiController]
-// [ApiVersion("8.0")]
-// [Route("api/v{version:apiVersion}/metric")]
-// [Authorize]
-// public class MetricsController : ControllerBase
-// {
-// private readonly AyContext ct;
-// private readonly ILogger log;
-// private readonly ApiServerState serverState;
+ ///
+ /// Server metrics
+ ///
+ [ApiController]
+ [ApiVersion("8.0")]
+ [Route("api/v{version:apiVersion}/metric")]
+ [Authorize]
+ public class ServerMetricsController : ControllerBase
+ {
+ private readonly AyContext ct;
+ private readonly ILogger log;
+ private readonly ApiServerState serverState;
-// ///
-// /// ctor
-// ///
-// ///
-// ///
-// ///
+ ///
+ /// ctor
+ ///
+ ///
+ ///
+ ///
-// public MetricsController(AyContext dbcontext, ILogger logger, ApiServerState apiServerState)
-// {
-// ct = dbcontext;
-// log = logger;
-// serverState = apiServerState;
-// }
+ public ServerMetricsController(AyContext dbcontext, ILogger logger, ApiServerState apiServerState)
+ {
+ ct = dbcontext;
+ log = logger;
+ serverState = apiServerState;
+ }
-// ///
-// /// Get metrics as text document
-// ///
-// /// Snapshot of metrics
-// [HttpGet("textsnapshot")]
-// public async Task GetMetrics()
-// {
-// if (serverState.IsClosed)
-// return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
+ ///
+ /// Get metrics as text document
+ ///
+ /// Snapshot of metrics
+ [HttpGet("textsnapshot")]
+ public async Task GetMetrics()
+ {
+ if (serverState.IsClosed)
+ return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
-// if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.Metrics))
-// {
-// return StatusCode(403, new ApiNotAuthorizedResponse());
-// }
+ if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.Metrics))
+ {
+ return StatusCode(403, new ApiNotAuthorizedResponse());
+ }
-// string sResult = await GetTheMetrics("plain");
+ string sResult = await GetTheMetrics("plain");
-// //Log
-// await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.Metrics, AyaEvent.Retrieved), ct);
+ //Log
+ await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.Metrics, AyaEvent.Retrieved), ct);
-// return Content(sResult);
-// }
+ return Content(sResult);
+ }
-// ///
-// /// Get metrics as json object
-// ///
-// /// Snapshot of metrics
-// [HttpGet("jsonsnapshot")]
-// public async Task GetJsonMetrics()
-// {
-// if (serverState.IsClosed)
-// return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
+ ///
+ /// Get metrics as json object
+ ///
+ /// Snapshot of metrics
+ [HttpGet("jsonsnapshot")]
+ public async Task GetJsonMetrics()
+ {
+ if (serverState.IsClosed)
+ return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
-// if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.Metrics))
-// {
-// return StatusCode(403, new ApiNotAuthorizedResponse());
-// }
+ if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.Metrics))
+ {
+ return StatusCode(403, new ApiNotAuthorizedResponse());
+ }
-// string sResult = await GetTheMetrics("json");
-// JObject json = JObject.Parse(sResult);
+ string sResult = await GetTheMetrics("json");
+ JObject json = JObject.Parse(sResult);
-// //Log
-// await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.Metrics, AyaEvent.Retrieved), ct);
+ //Log
+ await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.Metrics, AyaEvent.Retrieved), ct);
-// return Ok(ApiOkResponse.Response(json));
-// }
+ return Ok(ApiOkResponse.Response(json));
+ }
-// ///
-// /// Get the metrics snapshot
-// ///
-// /// Either "json" for json format or "plain" for plaintext format
-// ///
-// private async Task GetTheMetrics(string format)
-// {
-// var snapshot = metrics.Snapshot.Get();
+ ///
+ /// Get the metrics snapshot
+ ///
+ /// Either "json" for json format or "plain" for plaintext format
+ ///
+ private async Task GetTheMetrics(string format)
+ {
+ var snapshot = metrics.Snapshot.Get();
-// var formatters = ((IMetricsRoot)metrics).OutputMetricsFormatters;
-// string sResult = $"ERROR GETTING METRICS IN {format} FORMAT";
+ var formatters = ((IMetricsRoot)metrics).OutputMetricsFormatters;
+ string sResult = $"ERROR GETTING METRICS IN {format} FORMAT";
-// foreach (var formatter in formatters)
-// {
-// if (formatter.MediaType.Format == format)
-// {
-// using (var stream = new MemoryStream())
-// {
-// await formatter.WriteAsync(stream, snapshot);
-// sResult = System.Text.Encoding.UTF8.GetString(stream.ToArray());
-// }
-// }
-// }
+ foreach (var formatter in formatters)
+ {
+ if (formatter.MediaType.Format == format)
+ {
+ using (var stream = new MemoryStream())
+ {
+ await formatter.WriteAsync(stream, snapshot);
+ sResult = System.Text.Encoding.UTF8.GetString(stream.ToArray());
+ }
+ }
+ }
-// return sResult;
-// }
+ return sResult;
+ }
-// //------------
+ //------------
-// }
-// }
\ No newline at end of file
+ }
+}
\ No newline at end of file