Browse Source

Refactor telemetry interfaces and classes for consistency

pull/23059/head
Emre KARA 1 year ago
parent
commit
6def2891dc
  1. 2
      framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ITelemetryActivityEventBuilder.cs
  2. 2
      framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ITelemetryActivityEventEnricher.cs
  3. 6
      framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryActivityEventBuilder.cs
  4. 4
      framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryApplicationInfoEnricher.cs
  5. 4
      framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryDeviceInfoEnricher.cs
  6. 4
      framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetrySolutionInfoEnricher.cs
  7. 6
      framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorage.cs
  8. 2
      framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Helpers/Cryptography.cs
  9. 8
      framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryService.cs

2
framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ITelemetryActivityDataBuilder.cs → framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ITelemetryActivityEventBuilder.cs

@ -2,7 +2,7 @@
namespace Volo.Abp.Telemetry.Activity.Contracts;
public interface ITelemetryActivityDataBuilder
public interface ITelemetryActivityEventBuilder
{
Task BuildAsync(ActivityEvent activity);
}

2
framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ITelemetryActivityDataEnricher.cs → framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ITelemetryActivityEventEnricher.cs

@ -2,7 +2,7 @@
namespace Volo.Abp.Telemetry.Activity.Contracts;
public interface ITelemetryActivityDataEnricher
public interface ITelemetryActivityEventEnricher
{
Task EnrichAsync(ActivityEvent activity);
}

6
framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryActivityDataBuilder.cs → framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryActivityEventBuilder.cs

@ -7,11 +7,11 @@ using Volo.Abp.Telemetry.Activity.Contracts;
namespace Volo.Abp.Telemetry.Activity.Providers;
public class TelemetryActivityDataBuilder : ITelemetryActivityDataBuilder, ISingletonDependency
public class TelemetryActivityEventBuilder : ITelemetryActivityEventBuilder, ISingletonDependency
{
private readonly IServiceProvider _serviceProvider;
public TelemetryActivityDataBuilder(IServiceProvider serviceProvider)
public TelemetryActivityEventBuilder(IServiceProvider serviceProvider)
{
_serviceProvider = serviceProvider;
}
@ -23,7 +23,7 @@ public class TelemetryActivityDataBuilder : ITelemetryActivityDataBuilder, ISing
await sessionProvider.AddSessionInfoAsync(activity);
var activityDataEnrichers = _serviceProvider.GetRequiredService<IEnumerable<ITelemetryActivityDataEnricher>>();
var activityDataEnrichers = _serviceProvider.GetRequiredService<IEnumerable<ITelemetryActivityEventEnricher>>();
foreach (var activityDataEnricher in activityDataEnrichers)
{

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

@ -8,8 +8,8 @@ using Volo.Abp.Telemetry.Constants.Enums;
namespace Volo.Abp.Telemetry.Activity.Providers;
[ExposeServices(typeof(ITelemetryActivityDataEnricher))]
public class TelemetryApplicationInfoEnricher : ITelemetryActivityDataEnricher, ISingletonDependency
[ExposeServices(typeof(ITelemetryActivityEventEnricher))]
public class TelemetryApplicationInfoEnricher : ITelemetryActivityEventEnricher, ISingletonDependency
{
private readonly IEnumerable<ITelemetryApplicationInfoContributor> _telemetryApplicationInfoContributors;
private readonly ITelemetryActivityStorage _telemetryActivityStorage;

4
framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryDeviceInfoEnricher.cs

@ -16,8 +16,8 @@ using System.Management;
namespace Volo.Abp.Telemetry.Activity.Providers;
[ExposeServices(typeof(ITelemetryActivityDataEnricher))]
public class TelemetryDeviceInfoEnricher : ITelemetryActivityDataEnricher, ISingletonDependency
[ExposeServices(typeof(ITelemetryActivityEventEnricher))]
public class TelemetryDeviceInfoEnricher : ITelemetryActivityEventEnricher, ISingletonDependency
{
private readonly ITelemetryActivityStorage _telemetryActivityStorage;
private readonly ISoftwareInfoProvider _softwareInfoProvider;

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

@ -12,8 +12,8 @@ using Volo.Abp.Telemetry.Constants;
namespace Volo.Abp.Telemetry.Activity.Providers;
[ExposeServices(typeof(ITelemetryActivityDataEnricher))]
public class TelemetrySolutionInfoEnricher : ITelemetryActivityDataEnricher, ISingletonDependency
[ExposeServices(typeof(ITelemetryActivityEventEnricher))]
public class TelemetrySolutionInfoEnricher : ITelemetryActivityEventEnricher, ISingletonDependency
{
private readonly ITelemetryActivityStorage _telemetryActivityStorage;

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

@ -190,7 +190,7 @@ public class TelemetryActivityStorage : ITelemetryActivityStorage, ISingletonDep
return new TelemetryActivityStorageState();
}
var json = EncryptionHelper.Decrypt(encryptedJson);
var json = Cryptography.Decrypt(encryptedJson);
return JsonSerializer.Deserialize<TelemetryActivityStorageState>(json, JsonSerializerOptions)
?? new TelemetryActivityStorageState();
}) ?? new TelemetryActivityStorageState();
@ -202,7 +202,7 @@ public class TelemetryActivityStorage : ITelemetryActivityStorage, ISingletonDep
{
var state = _cachedState ?? new TelemetryActivityStorageState();
var json = JsonSerializer.Serialize(state, JsonSerializerOptions);
var encryptedJson = EncryptionHelper.Encrypt(json);
var encryptedJson = Cryptography.Encrypt(json);
File.WriteAllText(TelemetryPaths.ActivityStorage, encryptedJson, Encoding.UTF8);
}
@ -237,7 +237,7 @@ public class TelemetryActivityStorage : ITelemetryActivityStorage, ISingletonDep
{
var initialState = _cachedState ?? new TelemetryActivityStorageState();
var json = JsonSerializer.Serialize(initialState, JsonSerializerOptions);
var encryptedJson = EncryptionHelper.Encrypt(json);
var encryptedJson = Cryptography.Encrypt(json);
File.WriteAllText(TelemetryPaths.ActivityStorage, encryptedJson, Encoding.UTF8);
}

2
framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Helpers/EncryptionHelper.cs → framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Helpers/Cryptography.cs

@ -4,7 +4,7 @@ using System.Text;
namespace Volo.Abp.Telemetry.Helpers;
static internal class EncryptionHelper
static internal class Cryptography
{
private const string EncryptionKey = "AbpTelemetryStorageKey";

8
framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryService.cs

@ -13,15 +13,15 @@ public class TelemetryService : ITelemetryService, ISingletonDependency
{
private readonly ITelemetryActivityStorage _telemetryActivityStorage;
private readonly ITelemetryActivitySender _telemetryActivitySender;
private readonly ITelemetryActivityDataBuilder _telemetryActivityDataBuilder;
private readonly ITelemetryActivityEventBuilder _telemetryActivityEventBuilder;
public TelemetryService(ITelemetryActivityStorage telemetryActivityStorage,
ITelemetryActivitySender telemetryActivitySender,
ITelemetryActivityDataBuilder telemetryActivityDataBuilder)
ITelemetryActivityEventBuilder telemetryActivityEventBuilder)
{
_telemetryActivityStorage = telemetryActivityStorage;
_telemetryActivitySender = telemetryActivitySender;
_telemetryActivityDataBuilder = telemetryActivityDataBuilder;
_telemetryActivityEventBuilder = telemetryActivityEventBuilder;
}
public IAsyncDisposable TrackActivity(string activityName, Action<ActivityEvent>? configure = null)
@ -60,7 +60,7 @@ public class TelemetryService : ITelemetryService, ISingletonDependency
{
try
{
await _telemetryActivityDataBuilder.BuildAsync(@event);
await _telemetryActivityEventBuilder.BuildAsync(@event);
await _telemetryActivityStorage.BufferActivityAsync(@event);
if (@event.ActivityName == ActivityNameConsts.AbpStudioClose)

Loading…
Cancel
Save