mirror of https://github.com/abpframework/abp.git
committed by
GitHub
10 changed files with 188 additions and 12 deletions
@ -0,0 +1,39 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Internal.Telemetry; |
|||
using Volo.Abp.Internal.Telemetry.Activity; |
|||
|
|||
namespace Volo.Abp.Cli.Telemetry; |
|||
|
|||
public class NullTelemetryService : ITelemetryService |
|||
{ |
|||
public IAsyncDisposable TrackActivity(ActivityEvent activityData) |
|||
{ |
|||
return NullAsyncDisposable.Instance; |
|||
} |
|||
public IAsyncDisposable TrackActivityAsync(string activityName, Action<Dictionary<string, object>>? additionalProperties = null) |
|||
{ |
|||
return NullAsyncDisposable.Instance; |
|||
} |
|||
|
|||
public Task AddActivityAsync(string activityName, Action<Dictionary<string, object>>? additionalProperties = null) |
|||
{ |
|||
return Task.CompletedTask; |
|||
} |
|||
|
|||
public Task AddErrorActivityAsync(Action<Dictionary<string, object>> additionalProperties) |
|||
{ |
|||
return Task.CompletedTask; |
|||
} |
|||
|
|||
public Task AddErrorActivityAsync(string errorMessage) |
|||
{ |
|||
return Task.CompletedTask; |
|||
} |
|||
|
|||
public Task AddErrorForActivityAsync(string failingActivity, string errorMessage) |
|||
{ |
|||
return Task.CompletedTask; |
|||
} |
|||
} |
|||
@ -0,0 +1,44 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.IO; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.DependencyInjection; |
|||
using Volo.Abp.Internal.Telemetry.Activity; |
|||
using Volo.Abp.Internal.Telemetry.Activity.Contracts; |
|||
using Volo.Abp.Internal.Telemetry.Activity.Providers; |
|||
using Volo.Abp.Internal.Telemetry.Constants; |
|||
using Volo.Abp.Internal.Telemetry.Constants.Enums; |
|||
|
|||
namespace Volo.Abp.Cli.Telemetry; |
|||
|
|||
[ExposeServices(typeof(ITelemetryActivityEventEnricher))] |
|||
public class TelemetryCliSessionProvider : TelemetryActivityEventEnricher |
|||
{ |
|||
public TelemetryCliSessionProvider(IServiceProvider serviceProvider) : base(serviceProvider) |
|||
{ |
|||
} |
|||
|
|||
public override int ExecutionOrder { get; set; } = 10; |
|||
|
|||
protected override Task ExecuteAsync(ActivityContext context) |
|||
{ |
|||
context.Current[ActivityPropertyNames.SessionType] = SessionType.AbpCli; |
|||
context.Current[ActivityPropertyNames.SessionId] = Guid.NewGuid(); |
|||
context.Current[ActivityPropertyNames.IsFirstSession] = !File.Exists(TelemetryPaths.ActivityStorage); |
|||
context.Current["OldCli"] = true; |
|||
|
|||
if(context.Current.TryGetValue<Dictionary<string, object>>(ActivityPropertyNames.AdditionalProperties, out var additionalProperties)) |
|||
{ |
|||
additionalProperties["OldCli"] = true; |
|||
} |
|||
else |
|||
{ |
|||
context.Current[ActivityPropertyNames.AdditionalProperties] = new Dictionary<string, object> |
|||
{ |
|||
{ "OldCli", true } |
|||
}; |
|||
} |
|||
|
|||
return Task.CompletedTask; |
|||
} |
|||
} |
|||
Loading…
Reference in new issue