Browse Source

Update telemetry reports and simulator service for improved filtering and distribution

pull/23059/head
Emre KARA 1 year ago
parent
commit
1dc7c2e458
  1. 16
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json
  2. 3
      framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryActivityDataProvider.cs
  3. 4
      framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorage.cs
  4. 1
      framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorageState.cs

16
abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json

@ -721,9 +721,9 @@
"Menu:TelemetryReports": "Telemetry Reports",
"TelemetryReports:DailyStudioOpen": "Daily Studio Opens",
"TelemetryReports:MonthlyStudioOpen": "Monthly Studio Opens",
"TelemetryReports:AverageDailyUsage": "Average Daily Usage",
"TelemetryReports:UsageFrequency": "Usage Frequency",
"TelemetryReports:FeatureUsage": "Feature Usage",
"TelemetryReports:AverageDailyUsage": "Studio Daily Usage Duration Distribution",
"TelemetryReports:UsageFrequency": "Studio Usage Frequency",
"TelemetryReports:FeatureUsage": "Studio Feature Usage",
"TelemetryReports:Load": "Load",
"TelemetryReports:MinLaunchCount": "Min Launch",
"TelemetryReports:MaxLaunchCount": "Max Launch",
@ -733,10 +733,11 @@
"TelemetryReports:Year": "Year",
"TelemetryReports:ChartTitles:Daily": "Daily Studio Opens",
"TelemetryReports:ChartTitles:Monthly": "Monthly Studio Opens",
"TelemetryReports:ChartTitles:AverageDuration": "Daily Average Usage Duration",
"TelemetryReports:ChartTitles:AverageDuration": "Daily Studio Average Usage Duration",
"TelemetryReports:ChartTitles:Frequency": "Studio Usage Frequency",
"TelemetryReports:ChartTitles:FeatureUsage": "Feature Usage Stats",
"TelemetryReports:ChartLabels:AverageUsage": "Average Usage",
"TelemetryReports:ChartTitles:FeatureUsage": "Studio Feature Usage Stats",
"TelemetryReports:ChartTitles:UsageDurationDistribution": "Studio Usage Time (Daily Avg)",
"TelemetryReports:ChartLabels:AverageUsage": "Studio Average Usage",
"TelemetryReports:ChartLabels:MinutesPerDay": "Minutes Per Day",
"TelemetryReports:ChartLabels:FirstTime": "First Time",
"TelemetryReports:ChartLabels:Returning": "Returning",
@ -745,6 +746,7 @@
"TelemetryReports:ChartLabels:UniqueUsers": "Unique Users",
"TelemetryReports:ChartLabels:Total": "Total",
"TelemetryReports:ChartLabels:Daily": "Daily",
"TelemetryReports:ChartLabels:Monthly": "Monthly"
"TelemetryReports:ChartLabels:Monthly": "Monthly",
"TelemetryReports:ChartLabels:Users" : "Users"
}
}

3
framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryActivityDataProvider.cs

@ -57,9 +57,8 @@ public class TelemetryActivityDataProvider : ITelemetryActivityDataProvider, ISi
activity.Remove(ActivityPropertyName.Assembly);
}
if (activity.TryGetValue(ActivityPropertyName.SolutionId, out var rawSolutionId))
if (activity.TryGetValue(ActivityPropertyName.SolutionId, out var rawSolutionId) && Guid.TryParse(rawSolutionId?.ToString(), out var solutionId))
{
var solutionId = Guid.Parse(rawSolutionId!.ToString()!);
if (await activityStorage.ShouldAddSolutionInformation(solutionId))
{

4
framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorage.cs

@ -66,10 +66,9 @@ public class TelemetryActivityStorage : ITelemetryActivityStorage, ISingletonDep
public async Task<(bool isFirstSession, Guid sessionId)> GetOrCreateSessionInfoAsync()
{
var state = await GetStateAsync();
state.IsFirstSession ??= true;
state.SessionId ??= Guid.NewGuid();
await SaveAsync();
return (state.IsFirstSession.Value, state.SessionId.Value);
return (!File.Exists(TelemetryPaths.ActivityStorage), state.SessionId.Value);
}
public async Task MarkActivitiesAsSentAsync()
@ -78,7 +77,6 @@ public class TelemetryActivityStorage : ITelemetryActivityStorage, ISingletonDep
state.ActivitySendTime = DateTimeOffset.UtcNow;
state.Activities.Clear();
state.SessionId = null;
state.IsFirstSession = false;
await SaveAsync();
}

1
framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorageState.cs

@ -8,7 +8,6 @@ public class TelemetryActivityStorageState
public DateTimeOffset? ActivitySendTime { get; set; }
public DateTimeOffset? LastDeviceInfoSendTime { get; set; }
public Guid? SessionId { get; set; }
public bool? IsFirstSession { get; set; }
public List<ActivityData> Activities { get; set; } = new();
public Dictionary<Guid,DateTimeOffset> Solutions { get; set; } = new();

Loading…
Cancel
Save