diff --git a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/PermissionInfoContributor.cs b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/TelemetryPermissionInfoContributor.cs
similarity index 72%
rename from framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/PermissionInfoContributor.cs
rename to framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/TelemetryPermissionInfoContributor.cs
index 1089261dd5..7ca5018584 100644
--- a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/PermissionInfoContributor.cs
+++ b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/TelemetryPermissionInfoContributor.cs
@@ -2,16 +2,16 @@
using Volo.Abp.DependencyInjection;
using Volo.Abp.Telemetry;
using Volo.Abp.Telemetry.Activity;
-using Volo.Abp.Telemetry.Shared;
+using Volo.Abp.Telemetry.Constants;
namespace Volo.Abp.Authorization.Permissions;
[ExposeServices(typeof(ITelemetryApplicationInfoContributor))]
-public class PermissionInfoContributor : ITelemetryApplicationInfoContributor, ISingletonDependency
+public class TelemetryPermissionInfoContributor : ITelemetryApplicationInfoContributor, ISingletonDependency
{
private readonly IPermissionDefinitionManager _permissionDefinitionManager;
- public PermissionInfoContributor(IPermissionDefinitionManager permissionDefinitionManager)
+ public TelemetryPermissionInfoContributor(IPermissionDefinitionManager permissionDefinitionManager)
{
_permissionDefinitionManager = permissionDefinitionManager;
}
diff --git a/framework/src/Volo.Abp.Core/Volo.Abp.Core.csproj b/framework/src/Volo.Abp.Core/Volo.Abp.Core.csproj
index 17e6343e70..f89fdbdfb6 100644
--- a/framework/src/Volo.Abp.Core/Volo.Abp.Core.csproj
+++ b/framework/src/Volo.Abp.Core/Volo.Abp.Core.csproj
@@ -17,7 +17,6 @@
-
@@ -35,6 +34,12 @@
+
+
+
+
+ $(DefineConstants);WINDOWS
+
@@ -47,4 +52,5 @@
runtime; build; native; contentfiles; analyzers
+
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/AbpApplicationWithExternalServiceProvider.cs b/framework/src/Volo.Abp.Core/Volo/Abp/AbpApplicationWithExternalServiceProvider.cs
index 8d6ce774a4..9bca03b5f9 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/AbpApplicationWithExternalServiceProvider.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/AbpApplicationWithExternalServiceProvider.cs
@@ -6,8 +6,8 @@ using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Volo.Abp.Telemetry;
+using Volo.Abp.Telemetry.Constants;
using Volo.Abp.Telemetry.Helpers;
-using Volo.Abp.Telemetry.Shared;
namespace Volo.Abp;
@@ -67,20 +67,21 @@ internal class AbpApplicationWithExternalServiceProvider : AbpApplicationBase, I
}
private void ConfigureTelemetry(IServiceProvider serviceProvider)
{
+ var configuration = serviceProvider.GetRequiredService();
+ if (configuration.GetValue("Abp:Telemetry:Disable"))
+ {
+ return;
+ }
+
Task.Run(async () =>
{
try
{
using var scope = serviceProvider.CreateScope();
- var configuration = scope.ServiceProvider.GetRequiredService();
- if (configuration.GetValue("Abp:Telemetry:Disable"))
- {
- return;
- }
var assembly = Assembly.GetEntryAssembly()!;
- var packageMetadata = AbpPackageMetadataHelper.GetMetaData(assembly);
+ var packageMetadata = AbpPackageMetadataReader.GetMetaData(assembly);
if (packageMetadata != null)
{
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/IActivityDataProvider.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/IActivityDataProvider.cs
deleted file mode 100644
index 394bba4105..0000000000
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/IActivityDataProvider.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System;
-using System.Reflection;
-using System.Threading;
-using System.Threading.Tasks;
-using Volo.Abp.Telemetry.Shared.Enums;
-
-namespace Volo.Abp.Telemetry.Activity;
-
-public interface IActivityDataProvider
-{
-
- Task AddExtraInformationAsync(ActivityData activity);
-}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ITelemetryActivityDataProvider.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ITelemetryActivityDataProvider.cs
new file mode 100644
index 0000000000..c1e5b9a2d0
--- /dev/null
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ITelemetryActivityDataProvider.cs
@@ -0,0 +1,8 @@
+using System.Threading.Tasks;
+
+namespace Volo.Abp.Telemetry.Activity.Contracts;
+
+public interface ITelemetryActivityDataProvider
+{
+ Task AddExtraInformationAsync(ActivityData activity);
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/IActivityStorage.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ITelemetryActivityStorage.cs
similarity index 94%
rename from framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/IActivityStorage.cs
rename to framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ITelemetryActivityStorage.cs
index 9c8cf3db08..b180b27ba3 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/IActivityStorage.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ITelemetryActivityStorage.cs
@@ -4,7 +4,7 @@ using System.Threading.Tasks;
namespace Volo.Abp.Telemetry.Activity.Contracts;
-public interface IActivityStorage
+public interface ITelemetryActivityStorage
{
Task GetLastActivitySendTimeAsync();
Task<(bool isFirstSession, Guid sessionId)> GetOrCreateSessionInfoAsync();
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ISolutionInfoProvider.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ITelemetrySolutionInfoProvider.cs
similarity index 68%
rename from framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ISolutionInfoProvider.cs
rename to framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ITelemetrySolutionInfoProvider.cs
index abaf487d0a..a91c0846d9 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ISolutionInfoProvider.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Contracts/ITelemetrySolutionInfoProvider.cs
@@ -2,9 +2,9 @@
using System.Collections.Generic;
using System.Threading.Tasks;
-namespace Volo.Abp.Telemetry.Activity;
+namespace Volo.Abp.Telemetry.Activity.Contracts;
-public interface ISolutionInfoProvider
+public interface ITelemetrySolutionInfoProvider
{
Task> GetSolutionInfoAsync(string solutionPath);
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/ActivityDataProvider.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/ActivityDataProvider.cs
deleted file mode 100644
index 7ef41af553..0000000000
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/ActivityDataProvider.cs
+++ /dev/null
@@ -1,126 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Threading.Tasks;
-using Volo.Abp.DependencyInjection;
-using Volo.Abp.Telemetry.Activity.Contracts;
-using Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
-using Volo.Abp.Telemetry.Shared;
-using Volo.Abp.Telemetry.Shared.Enums;
-
-namespace Volo.Abp.Telemetry.Activity.Providers;
-
-public class ActivityDataProvider : IActivityDataProvider, IScopedDependency
-{
- private readonly IDeviceInfoProvider _deviceInfoProvider;
- private readonly ISoftwareInfoProvider _softwareInfoProvider;
- private readonly IEnumerable _applicationInfoContributors;
- private readonly IActivityStorage _activityStorage;
- private readonly ISolutionInfoProvider _solutionInfoProvider;
-
- public ActivityDataProvider(
- IDeviceInfoProvider deviceInfoProvider,
- ISoftwareInfoProvider softwareInfoProvider,
- IEnumerable applicationInfoContributors,
- IActivityStorage activityStorage, ISolutionInfoProvider solutionInfoProvider)
- {
- _deviceInfoProvider = deviceInfoProvider;
- _softwareInfoProvider = softwareInfoProvider;
- _applicationInfoContributors = applicationInfoContributors;
- _activityStorage = activityStorage;
- _solutionInfoProvider = solutionInfoProvider;
- }
-
- protected virtual SessionType GetSessionType()
- {
- return SessionType.ApplicationRuntime;
- }
-
- public virtual async Task AddExtraInformationAsync(ActivityData activity)
- {
- var (isFirstSession, sessionId) = await _activityStorage.GetOrCreateSessionInfoAsync();
-
- AddSolutionId(activity);
- var sessionType = GetSessionType();
- activity[ActivityPropertyName.SessionType] = sessionType;
- activity[ActivityPropertyName.SessionId] = sessionId;
- activity[ActivityPropertyName.IsFirstSession] = isFirstSession;
- activity[ActivityPropertyName.DeviceId] = _deviceInfoProvider.GetDeviceId();
-
- if (await _activityStorage.ShouldAddDeviceInfoAsync())
- {
- await AddDeviceInformationAsync(activity);
- }
-
- if (activity.ContainsKey(ActivityPropertyName.Assembly) && sessionType == SessionType.ApplicationRuntime)
- {
- await AddApplicationInformationAsync(activity);
- activity.Remove(ActivityPropertyName.Assembly);
- }
-
- if (await ShouldAddSolutionInformation(activity))
- {
- var solutionInfo = await _solutionInfoProvider.GetSolutionInfoAsync(activity[ActivityPropertyName.SolutionPath].ToString()!);
-
- foreach (var entry in solutionInfo)
- {
- activity[entry.Key] = entry.Value;
- }
- }
- }
-
- protected virtual async Task ShouldAddSolutionInformation(ActivityData activity)
- {
-
- if (
- !activity.TryGetValue(ActivityPropertyName.SolutionId, out var id) ||
- !Guid.TryParse(id.ToString(), out var solutionId) && activity.ContainsKey(ActivityPropertyName.SolutionPath))
- {
- return false;
- }
-
- return await _activityStorage.ShouldAddSolutionInformation(solutionId);
- }
-
- protected virtual async Task AddDeviceInformationAsync(ActivityData activityData)
- {
- activityData[ActivityPropertyName.DeviceType] = _deviceInfoProvider.GetDeviceType();
- activityData[ActivityPropertyName.DeviceLanguage] = _deviceInfoProvider.GetLanguage();
- activityData[ActivityPropertyName.OperatingSystem] = _deviceInfoProvider.GetOperatingSystem();
- activityData[ActivityPropertyName.CountryIsoCode] = _deviceInfoProvider.GetCountry();
-
- var softwareList = await _softwareInfoProvider.GetSoftwareInfoAsync();
- activityData[ActivityPropertyName.InstalledSoftwares] = softwareList;
-
- await _activityStorage.MarkDeviceInfoAsSentAsync();
- }
-
- protected virtual async Task AddApplicationInformationAsync(ActivityData activityData)
- {
- foreach (var contributor in _applicationInfoContributors)
- {
- await contributor.ContributeAsync(activityData);
- }
- }
-
-
- protected virtual void AddSolutionId(ActivityData activityData)
- {
- if (activityData.ContainsKey(ActivityPropertyName.SolutionId))
- {
- return;
- }
-
- if (!activityData.TryGetValue(ActivityPropertyName.SolutionPath, out var path) || !File.Exists((string)path))
- {
- return;
- }
-
- var solutionId = _solutionInfoProvider.GetSolutionId((string)path);
-
- if (solutionId.HasValue)
- {
- activityData[ActivityPropertyName.SolutionId] = solutionId.Value;
- }
- }
-}
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryActivityDataProvider.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryActivityDataProvider.cs
new file mode 100644
index 0000000000..e8e2ee547b
--- /dev/null
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryActivityDataProvider.cs
@@ -0,0 +1,77 @@
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.Telemetry.Activity.Contracts;
+using Volo.Abp.Telemetry.Constants;
+using Volo.Abp.Telemetry.Constants.Enums;
+using Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
+
+namespace Volo.Abp.Telemetry.Activity.Providers;
+
+public class TelemetryActivityDataProvider : ITelemetryActivityDataProvider, ISingletonDependency
+{
+ private readonly IServiceProvider _serviceProvider;
+
+ public TelemetryActivityDataProvider(IServiceProvider serviceProvider)
+ {
+ _serviceProvider = serviceProvider;
+ }
+
+ public virtual async Task AddExtraInformationAsync(ActivityData activity)
+ {
+ var activityStorage = _serviceProvider.GetRequiredService();
+ var sessionContext = _serviceProvider.GetRequiredService();
+ var deviceInfoProvider = _serviceProvider.GetRequiredService();
+
+ var (isFirstSession, sessionId) = await activityStorage.GetOrCreateSessionInfoAsync();
+
+ sessionContext.SetSolutionContext(activity);
+ activity[ActivityPropertyName.SessionType] = sessionContext.SessionType;
+ activity[ActivityPropertyName.SessionId] = sessionId;
+ activity[ActivityPropertyName.IsFirstSession] = isFirstSession;
+ activity[ActivityPropertyName.DeviceId] = deviceInfoProvider.GetDeviceId();
+
+ if (await activityStorage.ShouldAddDeviceInfoAsync())
+ {
+ activity[ActivityPropertyName.DeviceType] = deviceInfoProvider.GetDeviceType();
+ activity[ActivityPropertyName.DeviceLanguage] = deviceInfoProvider.GetLanguage();
+ activity[ActivityPropertyName.OperatingSystem] = deviceInfoProvider.GetOperatingSystem();
+ activity[ActivityPropertyName.CountryIsoCode] = deviceInfoProvider.GetCountry();
+
+ var softwareInfo = _serviceProvider.GetRequiredService();
+ var softwareList = await softwareInfo.GetSoftwareInfoAsync();
+ activity[ActivityPropertyName.InstalledSoftwares] = softwareList;
+
+ await activityStorage.MarkDeviceInfoAsSentAsync();
+ }
+
+ if (activity.ContainsKey(ActivityPropertyName.Assembly) && sessionContext.SessionType == SessionType.ApplicationRuntime)
+ {
+ var contributors = _serviceProvider.GetRequiredService>();
+ foreach (var contributor in contributors)
+ {
+ await contributor.ContributeAsync(activity);
+ }
+ activity.Remove(ActivityPropertyName.Assembly);
+ }
+
+ if (activity.TryGetValue(ActivityPropertyName.SolutionId, out var rawSolutionId))
+ {
+ var solutionId = Guid.Parse(rawSolutionId!.ToString()!);
+
+ if (await activityStorage.ShouldAddSolutionInformation(solutionId))
+ {
+ var solutionProvider = _serviceProvider.GetRequiredService();
+ var solutionInfo = await solutionProvider.GetSolutionInfoAsync(activity[ActivityPropertyName.SolutionPath].ToString()!);
+
+ foreach (var entry in solutionInfo)
+ {
+ activity[entry.Key] = entry.Value;
+ }
+ }
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/SolutionInfoProvider.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetrySolutionInfoProvider.cs
similarity index 95%
rename from framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/SolutionInfoProvider.cs
rename to framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetrySolutionInfoProvider.cs
index c786b48daa..613e81e394 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/SolutionInfoProvider.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetrySolutionInfoProvider.cs
@@ -7,11 +7,12 @@ using System.Net.Http.Headers;
using System.Text.Json;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
-using Volo.Abp.Telemetry.Shared;
+using Volo.Abp.Telemetry.Activity.Contracts;
+using Volo.Abp.Telemetry.Constants;
namespace Volo.Abp.Telemetry.Activity.Providers;
-public class SolutionInfoProvider : ISolutionInfoProvider, ISingletonDependency
+public class TelemetrySolutionInfoProvider : ITelemetrySolutionInfoProvider, ISingletonDependency
{
public async Task> GetSolutionInfoAsync(string solutionPath)
{
@@ -158,7 +159,7 @@ public class SolutionInfoProvider : ISolutionInfoProvider, ISingletonDependency
protected virtual async Task GetLicenseTypeAsync()
{
- if (!File.Exists(AbpTelemetryPaths.AccessToken))
+ if (!File.Exists(TelemetryPaths.AccessToken))
{
return 0;
}
@@ -166,7 +167,7 @@ public class SolutionInfoProvider : ISolutionInfoProvider, ISingletonDependency
try
{
using var httpClient = new HttpClient();
- var accessToken = File.ReadAllText(AbpTelemetryPaths.AccessToken);
+ var accessToken = File.ReadAllText(TelemetryPaths.AccessToken);
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await httpClient.GetAsync($"{AbpPlatformUrls.AbpIoUrl}api/license/api-key");
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/ActivityStorage.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorage.cs
similarity index 87%
rename from framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/ActivityStorage.cs
rename to framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorage.cs
index 2e04bb2f18..f02fa82136 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/ActivityStorage.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorage.cs
@@ -7,14 +7,13 @@ using System.Text.Json;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Telemetry.Activity.Contracts;
-using Volo.Abp.Telemetry.Shared;
+using Volo.Abp.Telemetry.Constants;
namespace Volo.Abp.Telemetry.Activity.Storage;
-public class ActivityStorage : IActivityStorage, ISingletonDependency
+public class TelemetryActivityStorage : ITelemetryActivityStorage, ISingletonDependency
{
- private ActivityStorageState? _cachedState;
-
+ private TelemetryActivityStorageState? _cachedState;
public async Task BufferActivityAsync(ActivityData activityData)
{
@@ -116,7 +115,7 @@ public class ActivityStorage : IActivityStorage, ISingletonDependency
await SaveAsync();
}
- private async Task GetStateAsync()
+ private async Task GetStateAsync()
{
if (_cachedState != null)
{
@@ -128,10 +127,10 @@ public class ActivityStorage : IActivityStorage, ISingletonDependency
{
using var reader = new StreamReader(stream, Encoding.UTF8);
var json = await reader.ReadToEndAsync();
- return JsonSerializer.Deserialize(json, new JsonSerializerOptions
+ return JsonSerializer.Deserialize(json, new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
- }) ?? new ActivityStorageState();
+ }) ?? new TelemetryActivityStorageState();
});
return _cachedState;
}
@@ -146,7 +145,7 @@ public class ActivityStorage : IActivityStorage, ISingletonDependency
try
{
using var stream = new FileStream(
- AbpTelemetryPaths.ActivityStorage,
+ TelemetryPaths.ActivityStorage,
FileMode.OpenOrCreate,
FileAccess.ReadWrite,
FileShare.None
@@ -170,13 +169,13 @@ public class ActivityStorage : IActivityStorage, ISingletonDependency
private Task SaveAsync()
{
- var json = JsonSerializer.Serialize(_cachedState ?? new ActivityStorageState(),
+ var json = JsonSerializer.Serialize(_cachedState ?? new TelemetryActivityStorageState(),
new JsonSerializerOptions
{
WriteIndented = true,
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
});
- File.WriteAllText(AbpTelemetryPaths.ActivityStorage, json, Encoding.UTF8);
+ File.WriteAllText(TelemetryPaths.ActivityStorage, json, Encoding.UTF8);
return Task.CompletedTask;
}
@@ -185,22 +184,22 @@ public class ActivityStorage : IActivityStorage, ISingletonDependency
{
try
{
- var directory = Path.GetDirectoryName(AbpTelemetryPaths.ActivityStorage);
+ var directory = Path.GetDirectoryName(TelemetryPaths.ActivityStorage);
if (!Directory.Exists(directory) && !directory.IsNullOrEmpty())
{
Directory.CreateDirectory(directory);
}
- if (!File.Exists(AbpTelemetryPaths.ActivityStorage))
+ if (!File.Exists(TelemetryPaths.ActivityStorage))
{
- var json = JsonSerializer.Serialize(_cachedState ?? new ActivityStorageState(),
+ var json = JsonSerializer.Serialize(_cachedState ?? new TelemetryActivityStorageState(),
new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
WriteIndented = true
});
- File.WriteAllText(AbpTelemetryPaths.ActivityStorage, json, Encoding.UTF8);
+ File.WriteAllText(TelemetryPaths.ActivityStorage, json, Encoding.UTF8);
}
}
catch
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/ActivityStorageState.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorageState.cs
similarity index 92%
rename from framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/ActivityStorageState.cs
rename to framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorageState.cs
index 0aebd9f387..653974f83d 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/ActivityStorageState.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorageState.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic;
namespace Volo.Abp.Telemetry.Activity.Storage;
-public class ActivityStorageState
+public class TelemetryActivityStorageState
{
public DateTimeOffset? ActivitySendTime { get; set; }
public DateTimeOffset? LastDeviceInfoSendTime { get; set; }
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/AbpPlatformUrls.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/AbpPlatformUrls.cs
new file mode 100644
index 0000000000..d3cc5aff45
--- /dev/null
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/AbpPlatformUrls.cs
@@ -0,0 +1,15 @@
+namespace Volo.Abp.Telemetry.Constants;
+
+public static class AbpPlatformUrls
+{
+#if DEBUG
+ public const string AbpTelemetryApiUrl = "https://localhost:44393/";
+ public const string AbpIoUrl = "https://localhost:44328/";
+#else
+ public const string AbpTelemetryApiUrl = "https://telemetry.abp.io/";
+ public const string AbpIoUrl = "https://abp.io/";
+
+#endif
+
+
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/ActivityNameConsts.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/ActivityNameConsts.cs
similarity index 99%
rename from framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/ActivityNameConsts.cs
rename to framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/ActivityNameConsts.cs
index 48894903bb..8e518a1d62 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/ActivityNameConsts.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/ActivityNameConsts.cs
@@ -1,4 +1,4 @@
-namespace Volo.Abp.Telemetry.Shared;
+namespace Volo.Abp.Telemetry.Constants;
public static class ActivityNameConsts
{
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/ActivityPropertyName.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/ActivityPropertyName.cs
similarity index 99%
rename from framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/ActivityPropertyName.cs
rename to framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/ActivityPropertyName.cs
index 7faf4049bf..30711f4eed 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/ActivityPropertyName.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/ActivityPropertyName.cs
@@ -1,4 +1,4 @@
-namespace Volo.Abp.Telemetry.Shared;
+namespace Volo.Abp.Telemetry.Constants;
public static class ActivityPropertyName
{
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/Enums/AbpTool.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/Enums/AbpTool.cs
new file mode 100644
index 0000000000..ffbff278a9
--- /dev/null
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/Enums/AbpTool.cs
@@ -0,0 +1,9 @@
+namespace Volo.Abp.Telemetry.Constants.Enums;
+
+public enum AbpTool : byte
+{
+ Unknown = 0,
+ StudioUI = 1,
+ StudioCli = 2,
+ OldCli = 3
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/Enums/DeviceType.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/Enums/DeviceType.cs
similarity index 60%
rename from framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/Enums/DeviceType.cs
rename to framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/Enums/DeviceType.cs
index f3e37abd0e..7feb608ff9 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/Enums/DeviceType.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/Enums/DeviceType.cs
@@ -1,4 +1,4 @@
-namespace Volo.Abp.Telemetry.Shared.Enums;
+namespace Volo.Abp.Telemetry.Constants.Enums;
public enum DeviceType
{
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/Enums/OperationSystem.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/Enums/OperationSystem.cs
similarity index 65%
rename from framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/Enums/OperationSystem.cs
rename to framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/Enums/OperationSystem.cs
index 29b4faac90..8d5a58bd73 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/Enums/OperationSystem.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/Enums/OperationSystem.cs
@@ -1,4 +1,4 @@
-namespace Volo.Abp.Telemetry.Shared.Enums;
+namespace Volo.Abp.Telemetry.Constants.Enums;
public enum OperationSystem
{
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/Enums/SessionType.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/Enums/SessionType.cs
similarity index 69%
rename from framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/Enums/SessionType.cs
rename to framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/Enums/SessionType.cs
index d58129c796..259062a272 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/Enums/SessionType.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/Enums/SessionType.cs
@@ -1,4 +1,4 @@
-namespace Volo.Abp.Telemetry.Shared.Enums;
+namespace Volo.Abp.Telemetry.Constants.Enums;
public enum SessionType
{
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/Enums/SoftwareType.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/Enums/SoftwareType.cs
similarity index 74%
rename from framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/Enums/SoftwareType.cs
rename to framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/Enums/SoftwareType.cs
index 16461f7ae0..d15fc955cd 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/Enums/SoftwareType.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/Enums/SoftwareType.cs
@@ -1,4 +1,4 @@
-namespace Volo.Abp.Telemetry.Shared.Enums;
+namespace Volo.Abp.Telemetry.Constants.Enums;
public enum SoftwareType : byte
{
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/AbpTelemetryPaths.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/TelemetryPaths.cs
similarity index 56%
rename from framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/AbpTelemetryPaths.cs
rename to framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/TelemetryPaths.cs
index 076c529168..87e394bb8b 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Shared/AbpTelemetryPaths.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Constants/TelemetryPaths.cs
@@ -1,31 +1,13 @@
using System;
using System.IO;
-namespace Volo.Abp.Telemetry.Shared;
+namespace Volo.Abp.Telemetry.Constants;
-public static class AbpTelemetryPaths
+public static class TelemetryPaths
{
public static string AccessToken => Path.Combine(AbpRootPath, "cli", "access-token.bin");
public static string ComputerId => Path.Combine(AbpRootPath, "cli", "computer-id.bin");
public static string ActivityStorage => Path.Combine(AbpRootPath, "activity-storage.json");
public static string Studio => Path.Combine(AbpRootPath, "studio");
private readonly static string AbpRootPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".abp");
-}
-
-
-
-public static class AbpPlatformUrls
-{
-
-
-#if DEBUG
- public const string TelemetryApiUrl = "https://localhost:44393/";
- public const string AbpIoUrl = "https://localhost:44328/";
-#else
- public const string TelemetryApiUrl = "https://telemetry.abp.io/";
- public const string AbpIoUrl = "https://abp.io/";
-
-#endif
-
-
}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Contracts/IDeviceInfoProvider.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Contracts/IDeviceInfoProvider.cs
index 149ed2816f..13ff5049d7 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Contracts/IDeviceInfoProvider.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Contracts/IDeviceInfoProvider.cs
@@ -1,5 +1,5 @@
using System;
-using Volo.Abp.Telemetry.Shared.Enums;
+using Volo.Abp.Telemetry.Constants.Enums;
namespace Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Contracts/ISoftwareDetector.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Contracts/ISoftwareDetector.cs
index 1f6333dc51..5cc767691d 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Contracts/ISoftwareDetector.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Contracts/ISoftwareDetector.cs
@@ -2,7 +2,7 @@
namespace Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
-public interface ISoftwareDetector
+internal interface ISoftwareDetector
{
string Name { get; }
Task DetectAsync();
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Contracts/SoftwareInfo.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Contracts/SoftwareInfo.cs
index bd04106b7f..e47aa0891e 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Contracts/SoftwareInfo.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Contracts/SoftwareInfo.cs
@@ -1,4 +1,4 @@
-using Volo.Abp.Telemetry.Shared.Enums;
+using Volo.Abp.Telemetry.Constants.Enums;
namespace Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Core/SoftwareDetector.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Core/SoftwareDetector.cs
index b58fd1f9a4..f859391f61 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Core/SoftwareDetector.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Core/SoftwareDetector.cs
@@ -7,7 +7,7 @@ using Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
namespace Volo.Abp.Telemetry.EnvironmentInspection.Core;
[ExposeServices(typeof(ISoftwareDetector))]
-public abstract class SoftwareDetector: ISoftwareDetector , ISingletonDependency
+abstract internal class SoftwareDetector: ISoftwareDetector , ISingletonDependency
{
public abstract string Name { get; }
public abstract Task DetectAsync();
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/AbpStudioDetector.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/AbpStudioDetector.cs
index f79c3ca00a..fb67a929ed 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/AbpStudioDetector.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/AbpStudioDetector.cs
@@ -2,10 +2,10 @@
using System.IO;
using System.Text.Json;
using System.Threading.Tasks;
+using Volo.Abp.Telemetry.Constants;
+using Volo.Abp.Telemetry.Constants.Enums;
using Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
using Volo.Abp.Telemetry.EnvironmentInspection.Core;
-using Volo.Abp.Telemetry.Shared;
-using Volo.Abp.Telemetry.Shared.Enums;
namespace Volo.Abp.Telemetry.EnvironmentInspection.Detectors;
@@ -31,7 +31,7 @@ internal class AbpStudioDetector : SoftwareDetector
private string? GetAbpStudioUiTheme()
{
var ideStateJsonPath = Path.Combine(
- AbpTelemetryPaths.Studio,
+ TelemetryPaths.Studio,
"ui",
"ide-state.json"
);
@@ -48,7 +48,7 @@ internal class AbpStudioDetector : SoftwareDetector
private string? GetAbpStudioVersion()
{
- var extensionsFilePath = Path.Combine(AbpTelemetryPaths.Studio, "extensions.json");
+ var extensionsFilePath = Path.Combine(TelemetryPaths.Studio, "extensions.json");
if (!File.Exists(extensionsFilePath))
{
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/ChromeDetector.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/ChromeDetector.cs
index 6c7140f788..7a186d78b9 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/ChromeDetector.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/ChromeDetector.cs
@@ -2,9 +2,9 @@
using System.IO;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
+using Volo.Abp.Telemetry.Constants.Enums;
using Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
using Volo.Abp.Telemetry.EnvironmentInspection.Core;
-using Volo.Abp.Telemetry.Shared.Enums;
namespace Volo.Abp.Telemetry.EnvironmentInspection.Detectors;
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/DotnetSdkDetector.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/DotnetSdkDetector.cs
index 00211a5bb5..ea4f65a2ae 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/DotnetSdkDetector.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/DotnetSdkDetector.cs
@@ -1,8 +1,8 @@
using System;
using System.Threading.Tasks;
+using Volo.Abp.Telemetry.Constants.Enums;
using Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
using Volo.Abp.Telemetry.EnvironmentInspection.Core;
-using Volo.Abp.Telemetry.Shared.Enums;
namespace Volo.Abp.Telemetry.EnvironmentInspection.Detectors;
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/FireFoxDetector.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/FireFoxDetector.cs
index 45ead865a4..ee2698c86f 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/FireFoxDetector.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/FireFoxDetector.cs
@@ -2,9 +2,9 @@
using System.IO;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
+using Volo.Abp.Telemetry.Constants.Enums;
using Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
using Volo.Abp.Telemetry.EnvironmentInspection.Core;
-using Volo.Abp.Telemetry.Shared.Enums;
namespace Volo.Abp.Telemetry.EnvironmentInspection.Detectors;
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/MsEdgeDetector.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/MsEdgeDetector.cs
index 7e340ca832..6a25f379c5 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/MsEdgeDetector.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/MsEdgeDetector.cs
@@ -2,9 +2,9 @@
using System.IO;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
+using Volo.Abp.Telemetry.Constants.Enums;
using Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
using Volo.Abp.Telemetry.EnvironmentInspection.Core;
-using Volo.Abp.Telemetry.Shared.Enums;
namespace Volo.Abp.Telemetry.EnvironmentInspection.Detectors;
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/NodeJsDetector.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/NodeJsDetector.cs
index 9b441ee57e..600793629e 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/NodeJsDetector.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/NodeJsDetector.cs
@@ -1,8 +1,8 @@
using System;
using System.Threading.Tasks;
+using Volo.Abp.Telemetry.Constants.Enums;
using Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
using Volo.Abp.Telemetry.EnvironmentInspection.Core;
-using Volo.Abp.Telemetry.Shared.Enums;
namespace Volo.Abp.Telemetry.EnvironmentInspection.Detectors;
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/OperatingSystemDetector.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/OperatingSystemDetector.cs
index b74a8ebc0a..9b6f073a89 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/OperatingSystemDetector.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/OperatingSystemDetector.cs
@@ -3,9 +3,9 @@ using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
using Microsoft.Win32;
+using Volo.Abp.Telemetry.Constants.Enums;
using Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
using Volo.Abp.Telemetry.EnvironmentInspection.Core;
-using Volo.Abp.Telemetry.Shared.Enums;
namespace Volo.Abp.Telemetry.EnvironmentInspection.Detectors;
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/RiderDetector.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/RiderDetector.cs
index 9235fea397..a60a64f5bd 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/RiderDetector.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/RiderDetector.cs
@@ -4,9 +4,9 @@ using System.Linq;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
using System.Xml.Linq;
+using Volo.Abp.Telemetry.Constants.Enums;
using Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
using Volo.Abp.Telemetry.EnvironmentInspection.Core;
-using Volo.Abp.Telemetry.Shared.Enums;
namespace Volo.Abp.Telemetry.EnvironmentInspection.Detectors;
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/VisualStudioCodeDetector.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/VisualStudioCodeDetector.cs
index 73f1ed3d66..15411e1115 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/VisualStudioCodeDetector.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/VisualStudioCodeDetector.cs
@@ -4,9 +4,9 @@ using System.Linq;
using System.Runtime.InteropServices;
using System.Text.Json;
using System.Threading.Tasks;
+using Volo.Abp.Telemetry.Constants.Enums;
using Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
using Volo.Abp.Telemetry.EnvironmentInspection.Core;
-using Volo.Abp.Telemetry.Shared.Enums;
namespace Volo.Abp.Telemetry.EnvironmentInspection.Detectors;
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/VisualStudioDetector.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/VisualStudioDetector.cs
index 3f72ba381b..dce108f52f 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/VisualStudioDetector.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Detectors/VisualStudioDetector.cs
@@ -4,9 +4,9 @@ using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Xml.Linq;
+using Volo.Abp.Telemetry.Constants.Enums;
using Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
using Volo.Abp.Telemetry.EnvironmentInspection.Core;
-using Volo.Abp.Telemetry.Shared.Enums;
namespace Volo.Abp.Telemetry.EnvironmentInspection.Detectors;
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Providers/DeviceInfoProvider.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Providers/DeviceInfoProvider.cs
index 4ab8051ae7..1b2ad33b4d 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Providers/DeviceInfoProvider.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/EnvironmentInspection/Providers/DeviceInfoProvider.cs
@@ -3,12 +3,14 @@ using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Linq;
+#if WINDOWS
using System.Management;
+#endif
using System.Runtime.InteropServices;
using Volo.Abp.DependencyInjection;
+using Volo.Abp.Telemetry.Constants;
+using Volo.Abp.Telemetry.Constants.Enums;
using Volo.Abp.Telemetry.EnvironmentInspection.Contracts;
-using Volo.Abp.Telemetry.Shared;
-using Volo.Abp.Telemetry.Shared.Enums;
namespace Volo.Abp.Telemetry.EnvironmentInspection.Providers;
@@ -20,7 +22,7 @@ public class DeviceInfoProvider : IDeviceInfoProvider, ISingletonDependency
{
_deviceId = new Lazy(() =>
{
- var deviceIdText = File.ReadAllText(AbpTelemetryPaths.ComputerId);
+ var deviceIdText = File.ReadAllText(TelemetryPaths.ComputerId);
return deviceIdText.To();
});
}
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Helpers/AbpPackageMetadataHelper.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Helpers/AbpPackageMetadataReader.cs
similarity index 98%
rename from framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Helpers/AbpPackageMetadataHelper.cs
rename to framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Helpers/AbpPackageMetadataReader.cs
index 9268bb280f..9df90c366e 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Helpers/AbpPackageMetadataHelper.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Helpers/AbpPackageMetadataReader.cs
@@ -7,7 +7,7 @@ using System.Text.Json;
namespace Volo.Abp.Telemetry.Helpers;
-public static class AbpPackageMetadataHelper
+public static class AbpPackageMetadataReader
{
public static AbpPackageMetadata? GetMetaData(Assembly assembly)
{
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/ITelemetryApplicationInfoContributor.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/ITelemetryApplicationInfoContributor.cs
index d10f6bd30e..7df709b1e7 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/ITelemetryApplicationInfoContributor.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/ITelemetryApplicationInfoContributor.cs
@@ -1,5 +1,4 @@
using System.Threading.Tasks;
-using Volo.Abp.DependencyInjection;
using Volo.Abp.Telemetry.Activity;
namespace Volo.Abp.Telemetry;
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/ITelemetrySessionContextProvider.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/ITelemetrySessionContextProvider.cs
new file mode 100644
index 0000000000..0e4ef65442
--- /dev/null
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/ITelemetrySessionContextProvider.cs
@@ -0,0 +1,10 @@
+using Volo.Abp.Telemetry.Activity;
+using Volo.Abp.Telemetry.Constants.Enums;
+
+namespace Volo.Abp.Telemetry;
+
+public interface ITelemetrySessionContextProvider
+{
+ public SessionType SessionType { get; }
+ void SetSolutionContext(ActivityData activity);
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryApplicationRuntimeSessionTypeProvider.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryApplicationRuntimeSessionTypeProvider.cs
new file mode 100644
index 0000000000..be71cf00dd
--- /dev/null
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryApplicationRuntimeSessionTypeProvider.cs
@@ -0,0 +1,39 @@
+using System.IO;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.Telemetry.Activity;
+using Volo.Abp.Telemetry.Activity.Contracts;
+using Volo.Abp.Telemetry.Constants;
+using Volo.Abp.Telemetry.Constants.Enums;
+
+namespace Volo.Abp.Telemetry;
+
+public class TelemetryApplicationRuntimeSessionTypeProvider : ITelemetrySessionContextProvider , ISingletonDependency
+{
+ private readonly ITelemetrySolutionInfoProvider _telemetrySolutionInfoProvider;
+
+ public TelemetryApplicationRuntimeSessionTypeProvider(ITelemetrySolutionInfoProvider telemetrySolutionInfoProvider)
+ {
+ _telemetrySolutionInfoProvider = telemetrySolutionInfoProvider;
+ }
+
+ public virtual SessionType SessionType => SessionType.ApplicationRuntime;
+ public virtual void SetSolutionContext(ActivityData activity)
+ {
+ if (activity.ContainsKey(ActivityPropertyName.SolutionId))
+ {
+ return;
+ }
+
+ if (!activity.TryGetValue(ActivityPropertyName.SolutionPath, out var path) || !File.Exists((string)path))
+ {
+ return;
+ }
+
+ var solutionId = _telemetrySolutionInfoProvider.GetSolutionId((string)path);
+
+ if (solutionId.HasValue)
+ {
+ activity[ActivityPropertyName.SolutionId] = solutionId.Value;
+ }
+ }
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryDataSender.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryDataSender.cs
index 0116c461bc..8b74b70ac9 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryDataSender.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryDataSender.cs
@@ -7,20 +7,19 @@ using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
-using Volo.Abp.Telemetry.Activity;
using Volo.Abp.Telemetry.Activity.Contracts;
-using Volo.Abp.Telemetry.Shared;
+using Volo.Abp.Telemetry.Constants;
namespace Volo.Abp.Telemetry;
public class TelemetryDataSender : ITelemetryDataSender, IScopedDependency
{
- private readonly IActivityStorage _activityStorage;
+ private readonly ITelemetryActivityStorage _telemetryActivityStorage;
private const int ActivityBatchSize = 50;
- public TelemetryDataSender(IActivityStorage activityStorage)
+ public TelemetryDataSender(ITelemetryActivityStorage telemetryActivityStorage)
{
- _activityStorage = activityStorage;
+ _telemetryActivityStorage = telemetryActivityStorage;
}
public async Task SendAsync()
@@ -30,7 +29,7 @@ public class TelemetryDataSender : ITelemetryDataSender, IScopedDependency
using var httpClient = new HttpClient();
AddAbpAuthenticationTokenAsync(httpClient);
- var activities = await _activityStorage.GetBufferedActivitiesAsync();
+ var activities = await _telemetryActivityStorage.GetBufferedActivitiesAsync();
if (activities.Count == 0)
{
return;
@@ -41,11 +40,11 @@ public class TelemetryDataSender : ITelemetryDataSender, IScopedDependency
{
var activityBatch = activities.Skip(i).Take(ActivityBatchSize).ToList();
- await httpClient.PostAsync($"{AbpPlatformUrls.TelemetryApiUrl}api/telemetry/collect",
+ await httpClient.PostAsync($"{AbpPlatformUrls.AbpTelemetryApiUrl}api/telemetry/collect",
new StringContent(JsonSerializer.Serialize(activityBatch), Encoding.UTF8, "application/json"));
}
- await _activityStorage.MarkActivitiesAsSentAsync();
+ await _telemetryActivityStorage.MarkActivitiesAsSentAsync();
}
catch
{
@@ -56,12 +55,12 @@ public class TelemetryDataSender : ITelemetryDataSender, IScopedDependency
private static void AddAbpAuthenticationTokenAsync(HttpClient httpClient)
{
- if (!File.Exists(AbpTelemetryPaths.AccessToken))
+ if (!File.Exists(TelemetryPaths.AccessToken))
{
return;
}
- var accessToken = File.ReadAllText(AbpTelemetryPaths.AccessToken, Encoding.UTF8);
+ var accessToken = File.ReadAllText(TelemetryPaths.AccessToken, Encoding.UTF8);
if (!accessToken.IsNullOrEmpty())
{
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/ModuleInfoContributor.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryModuleInfoContributor.cs
similarity index 68%
rename from framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/ModuleInfoContributor.cs
rename to framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryModuleInfoContributor.cs
index 46c59a3525..dc57cb31c1 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/ModuleInfoContributor.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryModuleInfoContributor.cs
@@ -4,13 +4,12 @@ using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Modularity;
using Volo.Abp.Telemetry.Activity;
-using Volo.Abp.Telemetry.Shared;
-using Volo.Abp.Telemetry.Shared.Enums;
+using Volo.Abp.Telemetry.Constants;
namespace Volo.Abp.Telemetry;
[ExposeServices(typeof(ITelemetryApplicationInfoContributor))]
-public class ModuleInfoContributor : ITelemetryApplicationInfoContributor, ISingletonDependency
+public class TelemetryModuleInfoContributor : ITelemetryApplicationInfoContributor, ISingletonDependency
{
public Task ContributeAsync(ActivityData activityData)
{
@@ -27,14 +26,4 @@ public class ModuleInfoContributor : ITelemetryApplicationInfoContributor, ISing
return Task.CompletedTask;
}
-}
-
-public interface ITelemetrySessionTypeProvider
-{
- public SessionType SessionType { get; }
-}
-
-public class ApplicationRuntimeSessionTypeProvider : ITelemetrySessionTypeProvider, ISingletonDependency
-{
- public SessionType SessionType => SessionType.ApplicationRuntime;
}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryService.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryService.cs
index 694de4811c..ad74d01adf 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryService.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryService.cs
@@ -5,22 +5,22 @@ using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Telemetry.Activity;
using Volo.Abp.Telemetry.Activity.Contracts;
-using Volo.Abp.Telemetry.Shared;
+using Volo.Abp.Telemetry.Constants;
namespace Volo.Abp.Telemetry;
public class TelemetryService : ITelemetryService, IScopedDependency
{
- private readonly IActivityStorage _activityStorage;
+ private readonly ITelemetryActivityStorage _telemetryActivityStorage;
private readonly ITelemetryDataSender _telemetryDataSender;
- private readonly IActivityDataProvider _activityDataProvider;
+ private readonly ITelemetryActivityDataProvider _telemetryActivityDataProvider;
- public TelemetryService(IActivityStorage activityStorage, ITelemetryDataSender telemetryDataSender,
- IActivityDataProvider activityDataProvider)
+ public TelemetryService(ITelemetryActivityStorage telemetryActivityStorage, ITelemetryDataSender telemetryDataSender,
+ ITelemetryActivityDataProvider telemetryActivityDataProvider)
{
- _activityStorage = activityStorage;
+ _telemetryActivityStorage = telemetryActivityStorage;
_telemetryDataSender = telemetryDataSender;
- _activityDataProvider = activityDataProvider;
+ _telemetryActivityDataProvider = telemetryActivityDataProvider;
}
public IAsyncDisposable TrackActivity(string activityName, Action? configure = null)
@@ -54,11 +54,7 @@ public class TelemetryService : ITelemetryService, IScopedDependency
private async Task CheckIfActivitySendTimeIsDueAsync()
{
- var lastActivitySendTime = await _activityStorage.GetLastActivitySendTimeAsync();
- // if (lastActivitySendTime is null)
- // {
- // await _telemetryDataSender.SendAsync();
- // }
+ var lastActivitySendTime = await _telemetryActivityStorage.GetLastActivitySendTimeAsync();
if (lastActivitySendTime is not null && lastActivitySendTime < DateTimeOffset.UtcNow.AddDays(-1))
{
@@ -70,13 +66,13 @@ public class TelemetryService : ITelemetryService, IScopedDependency
{
try
{
- await _activityDataProvider.AddExtraInformationAsync(data);
- await _activityStorage.BufferActivityAsync(data);
+ await _telemetryActivityDataProvider.AddExtraInformationAsync(data);
+ await _telemetryActivityStorage.BufferActivityAsync(data);
await CheckIfActivitySendTimeIsDueAsync();
if (data.ActivityName == ActivityNameConsts.AbpStudioClose)
{
- await _activityStorage.EndSessionAsync();
+ await _telemetryActivityStorage.EndSessionAsync();
}
}
catch
diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Telemetry/DomainInfoContributor.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Telemetry/TelemetryDomainInfoContributor.cs
similarity index 84%
rename from framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Telemetry/DomainInfoContributor.cs
rename to framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Telemetry/TelemetryDomainInfoContributor.cs
index 06b26c1631..a6e923c7cb 100644
--- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Telemetry/DomainInfoContributor.cs
+++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Telemetry/TelemetryDomainInfoContributor.cs
@@ -5,12 +5,12 @@ using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Telemetry;
using Volo.Abp.Telemetry.Activity;
-using Volo.Abp.Telemetry.Shared;
+using Volo.Abp.Telemetry.Constants;
namespace Volo.Abp.Domain.Telemetry;
[ExposeServices(typeof(ITelemetryApplicationInfoContributor))]
-public class DomainInfoContributor : ITelemetryApplicationInfoContributor , ISingletonDependency
+public class TelemetryDomainInfoContributor : ITelemetryApplicationInfoContributor , ISingletonDependency
{
public Task ContributeAsync(ActivityData activityData)
{