Browse Source

Revise data collection codes

pull/24140/head
berkansasmaz 3 months ago
parent
commit
3e7397bb6b
  1. 2
      framework/src/Volo.Abp.Core/Volo/Abp/AbpApplicationBase.cs
  2. 13
      framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/Activity/Providers/TelemetryApplicationInfoEnricher.cs
  3. 3
      framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/Activity/Providers/TelemetrySolutionInfoEnricher.cs
  4. 2
      framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/Activity/Storage/TelemetryActivityStorage.cs
  5. 2
      framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/Activity/Storage/TelemetryPeriod.cs
  6. 5
      framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/Constants/ActivityPropertyNames.cs
  7. 1
      framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/TelemetryActivitySender.cs

2
framework/src/Volo.Abp.Core/Volo/Abp/AbpApplicationBase.cs

@ -200,7 +200,7 @@ public abstract class AbpApplicationBase : IAbpApplication
using var scope = ServiceProvider.CreateScope(); using var scope = ServiceProvider.CreateScope();
var abpHostEnvironment = scope.ServiceProvider.GetRequiredService<IAbpHostEnvironment>(); var abpHostEnvironment = scope.ServiceProvider.GetRequiredService<IAbpHostEnvironment>();
var configuration = scope.ServiceProvider.GetRequiredService<IConfiguration>(); var configuration = scope.ServiceProvider.GetRequiredService<IConfiguration>();
return abpHostEnvironment.IsDevelopment() && configuration.GetValue<bool?>("Abp:Telemetry:IsEnabled") == true; return abpHostEnvironment.IsDevelopment() && configuration.GetValue<bool?>("Abp:Telemetry:IsEnabled") != false;
} }
//TODO: We can extract a new class for this //TODO: We can extract a new class for this

13
framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/Activity/Providers/TelemetryApplicationInfoEnricher.cs

@ -43,26 +43,25 @@ public sealed class TelemetryApplicationInfoEnricher : TelemetryActivityEventEnr
context.Terminate(); context.Terminate();
return Task.CompletedTask; return Task.CompletedTask;
} }
if (!_telemetryActivityStorage.ShouldAddProjectInfo(projectMetaData.ProjectId.Value)) var solutionId = ReadSolutionIdFromSolutionPath(projectMetaData.AbpSlnPath);
if (!solutionId.HasValue)
{ {
IgnoreChildren = true; IgnoreChildren = true;
context.Terminate();
return Task.CompletedTask; return Task.CompletedTask;
} }
context.Current[ActivityPropertyNames.SolutionId] = solutionId;
var solutionId = ReadSolutionIdFromSolutionPath(projectMetaData.AbpSlnPath); if (!_telemetryActivityStorage.ShouldAddProjectInfo(projectMetaData.ProjectId.Value))
if (!solutionId.HasValue)
{ {
IgnoreChildren = true; IgnoreChildren = true;
context.Terminate();
return Task.CompletedTask; return Task.CompletedTask;
} }
context.ExtraProperties[ActivityPropertyNames.SolutionPath] = projectMetaData.AbpSlnPath; context.ExtraProperties[ActivityPropertyNames.SolutionPath] = projectMetaData.AbpSlnPath;
context.Current[ActivityPropertyNames.ProjectType] = projectMetaData.Role ?? string.Empty; context.Current[ActivityPropertyNames.ProjectType] = projectMetaData.Role ?? string.Empty;
context.Current[ActivityPropertyNames.ProjectId] = projectMetaData.ProjectId.Value; context.Current[ActivityPropertyNames.ProjectId] = projectMetaData.ProjectId.Value;
context.Current[ActivityPropertyNames.SolutionId] = solutionId;
context.Current[ActivityPropertyNames.HasProjectInfo] = true; context.Current[ActivityPropertyNames.HasProjectInfo] = true;
} }
catch catch

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

@ -91,6 +91,9 @@ internal sealed class TelemetrySolutionInfoEnricher : TelemetryActivityEventEnri
context.Current[ActivityPropertyNames.DynamicLocalization] = TelemetryJsonExtensions.GetBooleanOrNull(config, "dynamicLocalization"); context.Current[ActivityPropertyNames.DynamicLocalization] = TelemetryJsonExtensions.GetBooleanOrNull(config, "dynamicLocalization");
context.Current[ActivityPropertyNames.KubernetesConfiguration] = TelemetryJsonExtensions.GetBooleanOrNull(config, "kubernetesConfiguration"); context.Current[ActivityPropertyNames.KubernetesConfiguration] = TelemetryJsonExtensions.GetBooleanOrNull(config, "kubernetesConfiguration");
context.Current[ActivityPropertyNames.GrafanaDashboard] = TelemetryJsonExtensions.GetBooleanOrNull(config, "grafanaDashboard"); context.Current[ActivityPropertyNames.GrafanaDashboard] = TelemetryJsonExtensions.GetBooleanOrNull(config, "grafanaDashboard");
context.Current[ActivityPropertyNames.SampleCrudPage] = TelemetryJsonExtensions.GetBooleanOrNull(config, "sampleCrudPage");
context.Current[ActivityPropertyNames.CreationTool] = TelemetryJsonExtensions.GetStringOrNull(config, "creationTool");
context.Current[ActivityPropertyNames.Aspire] = TelemetryJsonExtensions.GetBooleanOrNull(config, "aspire");
} }
private static void AddModuleInfo(ActivityContext context, JsonElement modulesElement) private static void AddModuleInfo(ActivityContext context, JsonElement modulesElement)

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

@ -35,7 +35,7 @@ public class TelemetryActivityStorage : ITelemetryActivityStorage, ISingletonDep
var activityName = activityEvent.Get<string>(ActivityPropertyNames.ActivityName); var activityName = activityEvent.Get<string>(ActivityPropertyNames.ActivityName);
if (activityName == ActivityNameConsts.AbpStudioClose) if (activityName == ActivityNameConsts.AbpStudioClose || activityName == ActivityNameConsts.AbpStudioCloseWithoutLogin)
{ {
State.SessionId = null; State.SessionId = null;
} }

2
framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/Activity/Storage/TelemetryPeriod.cs

@ -12,7 +12,7 @@ static internal class TelemetryPeriod
InformationSendPeriod = isTestMode InformationSendPeriod = isTestMode
? TimeSpan.FromSeconds(15) ? TimeSpan.FromSeconds(15)
: TimeSpan.FromDays(7); : TimeSpan.FromDays(2);
ActivitySendPeriod = isTestMode ActivitySendPeriod = isTestMode
? TimeSpan.FromSeconds(5) ? TimeSpan.FromSeconds(5)

5
framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/Constants/ActivityPropertyNames.cs

@ -56,13 +56,14 @@ public static class ActivityPropertyNames
public const string SoftwareType = "SoftwareType"; public const string SoftwareType = "SoftwareType";
public const string WebFramework = "WebFramework"; public const string WebFramework = "WebFramework";
public const string Dbms = "Dbms"; public const string Dbms = "Dbms";
public const string UiTheme = "UiTheme"; public const string UiTheme = "Theme";
public const string UiThemeStyle = "UiThemeStyle"; public const string UiThemeStyle = "ThemeStyle";
public const string MobileApp = "MobileApp"; public const string MobileApp = "MobileApp";
public const string SampleCrudPage = "SampleCrudPage"; public const string SampleCrudPage = "SampleCrudPage";
public const string FirstAbpVersion = "FirstAbpVersion"; public const string FirstAbpVersion = "FirstAbpVersion";
public const string FirstDotnetVersion = "FirstDotnetVersion"; public const string FirstDotnetVersion = "FirstDotnetVersion";
public const string CreationTool = "CreationTool"; public const string CreationTool = "CreationTool";
public const string Aspire = "Aspire";
public const string ModuleName = "ModuleName"; public const string ModuleName = "ModuleName";
public const string ModuleVersion = "ModuleVersion"; public const string ModuleVersion = "ModuleVersion";
public const string ModuleInstallationTime = "ModuleInstallationTime"; public const string ModuleInstallationTime = "ModuleInstallationTime";

1
framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/TelemetryActivitySender.cs

@ -67,7 +67,6 @@ public class TelemetryActivitySender : ITelemetryActivitySender, IScopedDependen
} }
} }
private async Task<bool> TrySendBatchWithRetriesAsync(HttpClient httpClient, ActivityEvent[] activities) private async Task<bool> TrySendBatchWithRetriesAsync(HttpClient httpClient, ActivityEvent[] activities)
{ {
var currentAttempt = 0; var currentAttempt = 0;

Loading…
Cancel
Save