< Summary - Syki

Information
Class: Syki.Back.Metrics.RequestMetrics
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Metrics/RequestMetrics.cs
Tag: 4_16869239191
Line coverage
100%
Covered lines: 18
Uncovered lines: 0
Coverable lines: 18
Total lines: 46
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Id()100%11100%
get_Start()100%11100%
get_Stop()100%11100%
get_Resume()100%11100%
get_Requests()100%11100%
.ctor()100%11100%
Save(...)100%22100%

File(s)

/home/runner/work/syki/syki/Back/Metrics/RequestMetrics.cs

#LineLine coverage
 1using System.Collections.Concurrent;
 2
 3namespace Syki.Back.Metrics;
 4
 5public class RequestMetrics
 6{
 27    public Guid Id { get; set; }
 28    public DateTime Start { get; set; }
 29    public DateTime Stop { get; set; }
 224210    public ResumeData Resume { get; set; }
 211    public List<RequestData> Requests { get; set; }
 12
 213    public RequestMetrics()
 14    {
 215        Id = Guid.CreateVersion7();
 216        Start = DateTime.UtcNow;
 217    }
 18
 19    public void Save(List<RequestData> requests)
 20    {
 221        Stop = DateTime.UtcNow;
 222        Requests = requests;
 223        Resume = new();
 112424        foreach (var request in requests)
 25        {
 56026            Resume.Total += request.Values["Total"];
 56027            Resume.Post += request.Values.GetValueOrDefault("POST");
 56028            Resume.Put += request.Values.GetValueOrDefault("PUT");
 56029            Resume.Get += request.Values.GetValueOrDefault("GET");
 30        }
 231    }
 32}
 33
 34public class ResumeData
 35{
 36    public int Total { get; set; }
 37    public int Post { get; set; }
 38    public int Put { get; set; }
 39    public int Get { get; set; }
 40}
 41
 42public class RequestData
 43{
 44    public string Endpoint { get; set; }
 45    public ConcurrentDictionary<string, int> Values { get; set; }
 46}