Browse Source

Usage

pull/282/head
Sebastian Stehle 8 years ago
parent
commit
b18d0bf2ec
  1. 8
      src/Squidex/Areas/Api/Controllers/Statistics/Models/CallsUsageDto.cs
  2. 6
      src/Squidex/Areas/Api/Controllers/Statistics/Models/StorageUsageDto.cs
  3. 19
      src/Squidex/Areas/Api/Controllers/Statistics/UsagesController.cs

8
src/Squidex/Areas/Api/Controllers/Statistics/Models/CallsUsageDto.cs

@ -6,6 +6,7 @@
// ==========================================================================
using System;
using Squidex.Infrastructure.UsageTracking;
namespace Squidex.Areas.Api.Controllers.Statistics.Models
{
@ -25,5 +26,12 @@ namespace Squidex.Areas.Api.Controllers.Statistics.Models
/// The average duration in milliseconds.
/// </summary>
public long AverageMs { get; set; }
public static CallsUsageDto FromUsage(StoredUsage usage)
{
var averageMs = usage.TotalCount == 0 ? 0 : usage.TotalElapsedMs / usage.TotalCount;
return new CallsUsageDto { Date = usage.Date, Count = usage.TotalCount, AverageMs = averageMs };
}
}
}

6
src/Squidex/Areas/Api/Controllers/Statistics/Models/StorageUsageDto.cs

@ -6,6 +6,7 @@
// ==========================================================================
using System;
using Squidex.Domain.Apps.Entities.Assets;
namespace Squidex.Areas.Api.Controllers.Statistics.Models
{
@ -25,5 +26,10 @@ namespace Squidex.Areas.Api.Controllers.Statistics.Models
/// The size in bytes.
/// </summary>
public long Size { get; set; }
public static StorageUsageDto FromStats(IAssetStatsEntity stats)
{
return new StorageUsageDto { Date = stats.Date, Count = stats.TotalCount, Size = stats.TotalSize };
}
}
}

19
src/Squidex/Areas/Api/Controllers/Statistics/UsagesController.cs

@ -64,7 +64,9 @@ namespace Squidex.Areas.Api.Controllers.Statistics
var plan = appPlanProvider.GetPlanForApp(App);
return Ok(new CurrentCallsDto { Count = count, MaxAllowed = plan.MaxApiCalls });
var response = new CurrentCallsDto { Count = count, MaxAllowed = plan.MaxApiCalls };
return Ok(response);
}
/// <summary>
@ -91,14 +93,9 @@ namespace Squidex.Areas.Api.Controllers.Statistics
var entities = await usageTracker.QueryAsync(App.Id.ToString(), fromDate.Date, toDate.Date);
var models = entities.Select(x =>
{
var averageMs = x.TotalCount == 0 ? 0 : x.TotalElapsedMs / x.TotalCount;
return new CallsUsageDto { Date = x.Date, Count = x.TotalCount, AverageMs = averageMs };
}).ToList();
var response = entities.Select(CallsUsageDto.FromUsage);
return Ok(models);
return Ok(response);
}
/// <summary>
@ -119,7 +116,9 @@ namespace Squidex.Areas.Api.Controllers.Statistics
var plan = appPlanProvider.GetPlanForApp(App);
return Ok(new CurrentStorageDto { Size = size, MaxAllowed = plan.MaxAssetSize });
var response = new CurrentStorageDto { Size = size, MaxAllowed = plan.MaxAssetSize };
return Ok(response);
}
/// <summary>
@ -146,7 +145,7 @@ namespace Squidex.Areas.Api.Controllers.Statistics
var entities = await assetStatsRepository.QueryAsync(App.Id, fromDate.Date, toDate.Date);
var models = entities.Select(x => new StorageUsageDto { Date = x.Date, Count = x.TotalCount, Size = x.TotalSize }).ToList();
var models = entities.Select(StorageUsageDto.FromStats).ToList();
return Ok(models);
}

Loading…
Cancel
Save