Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit bd66a20

Browse files
committed
Send the username along with the metrics
1 parent b3297da commit bd66a20

File tree

5 files changed

+30
-6
lines changed

5 files changed

+30
-6
lines changed

octorun/src/bin/app-usage.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,6 @@ if (fileContents && host) {
4444
'Content-Type': 'application/json'
4545
}
4646
};
47-
if (config.token) {
48-
options.headers['Authorization'] = 'token ' + config.token;
49-
}
5047

5148
var req = https.request(options, function (res) {
5249
var success = res.statusCode == 200;

src/GitHub.Api/Application/ApiClient.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ public void ContinueLogin(LoginResult loginResult, string code)
205205
.Start();
206206
}
207207

208-
private GitHubUser GetCurrentUser()
208+
public GitHubUser GetCurrentUser()
209209
{
210210
var keychainConnection = keychain.Connections.FirstOrDefault(x => x.Host == OriginalUrl);
211211
if (keychainConnection == null)

src/GitHub.Api/Application/ApplicationManagerBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ protected void Initialize()
4848
ApplicationConfiguration.GitTimeout = UserSettings.Get(Constants.GitTimeoutKey, ApplicationConfiguration.GitTimeout);
4949
Platform.Initialize(ProcessManager, TaskManager);
5050
progress.OnProgress += progressReporter.UpdateProgress;
51-
UsageTracker = new UsageTracker(TaskManager, GitClient, ProcessManager, UserSettings, Environment, InstanceId.ToString());
51+
UsageTracker = new UsageTracker(TaskManager, GitClient, ProcessManager, UserSettings, Environment, Platform.Keychain, InstanceId.ToString());
5252

5353
#if ENABLE_METRICS
5454
var metricsService = new MetricsService(ProcessManager,

src/GitHub.Api/Metrics/UsageModel.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public class Dimensions
2222
public string UnityVersion { get; set; }
2323
public string Lang { get; set; }
2424
public string CurrentLang { get; set; }
25+
public string GitHubUser { get; set; }
2526
}
2627

2728
public class Measures

src/GitHub.Api/Metrics/UsageTracker.cs

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,11 @@ private void SendUsage()
9494
return;
9595
}
9696

97+
var username = GetUsername();
98+
if (!String.IsNullOrEmpty(username)) {
99+
extractReports.ForEach(x => x.Dimensions.GitHubUser = username);
100+
}
101+
97102
try
98103
{
99104
MetricsService.PostUsage(extractReports);
@@ -316,6 +321,11 @@ public virtual void UpdateLfsDiskUsage(int kilobytes)
316321
}
317322
}
318323

324+
protected virtual string GetUsername()
325+
{
326+
return "";
327+
}
328+
319329
public bool Enabled
320330
{
321331
get
@@ -344,7 +354,9 @@ class UsageTracker : UsageTrackerSync
344354
{
345355
public UsageTracker(ITaskManager taskManager, IGitClient gitClient, IProcessManager processManager,
346356
ISettings userSettings,
347-
IEnvironment environment, string instanceId)
357+
IEnvironment environment,
358+
IKeychain keychain,
359+
string instanceId)
348360
: base(userSettings,
349361
new UsageLoader(environment.UserCachePath.Combine(Constants.UsageFile)),
350362
environment.UnityVersion, instanceId)
@@ -353,6 +365,7 @@ public UsageTracker(ITaskManager taskManager, IGitClient gitClient, IProcessMana
353365
Environment = environment;
354366
GitClient = gitClient;
355367
ProcessManager = processManager;
368+
Keychain = keychain;
356369
}
357370

358371
protected override void CaptureRepoSize()
@@ -377,6 +390,18 @@ protected override void CaptureRepoSize()
377390
catch {}
378391
}
379392

393+
protected override string GetUsername()
394+
{
395+
string username = "";
396+
try {
397+
var apiClient = new ApiClient("", Keychain, ProcessManager, TaskManager, Environment);
398+
var user = apiClient.GetCurrentUser();
399+
username = user.Login;
400+
} catch {
401+
}
402+
return username;
403+
}
404+
380405
public override void IncrementApplicationMenuMenuItemCommandLine() => TaskManager.Run(base.IncrementApplicationMenuMenuItemCommandLine);
381406
public override void IncrementAuthenticationViewButtonAuthentication() => TaskManager.Run(base.IncrementAuthenticationViewButtonAuthentication);
382407
public override void IncrementBranchesViewButtonCheckoutLocalBranch() => TaskManager.Run(base.IncrementBranchesViewButtonCheckoutLocalBranch);
@@ -400,6 +425,7 @@ protected override void CaptureRepoSize()
400425
protected IEnvironment Environment { get; }
401426
protected IGitClient GitClient { get; }
402427
public IProcessManager ProcessManager { get; }
428+
protected IKeychain Keychain { get; }
403429
}
404430

405431
interface IUsageLoader

0 commit comments

Comments
 (0)