public static void ReportNodeInfo(Tracker tracker) { tracker.Log("Info_UserId", PluginSettings.Instance.UserId); tracker.Log("Info_NodeName", PluginSettings.Instance.NodeName); var curAssembly = typeof(Program).Assembly; tracker.Log("Info_ProcessVersion", curAssembly.FullName); var res = string.Format("v{0}", typeof(CIAPI.Rpc.Client).Assembly.GetName().Version); tracker.Log("Info_CiapiVersion", res); }
private void ThreadEntry() { try { while (!_terminated) { LastExecution = DateTime.UtcNow; try { lock (_sync) { if (!string.IsNullOrEmpty(LogEventUrl)) { _tracker = Tracker.Create(LogEventUrl, ApplicationKey, "{APPMETRICS_ACCESS_KEY}"); } } if (!WebUtil.IsConnectionAvailable()) { Tracker.Log("Event", GetType().Name + ": no internet connection"); } else { Execute(); } } catch (ThreadInterruptedException) { break; } catch (Exception exc) { Tracker.Log(exc); } var executionTime = DateTime.UtcNow - LastExecution; var period = Period - executionTime; if (period.TotalSeconds > 0) Thread.Sleep(period); } Thread.Sleep(0); // avoid interrupting thread later } catch (ThreadInterruptedException) { } catch (Exception exc) { Tracker.Log(exc); } try { Cleanup(); } catch (Exception exc) { Tracker.Log(exc); } lock (_sync) { _thread = null; } }
private void Init() { if (!Directory.Exists(Const.WorkingAreaBinPath)) Directory.CreateDirectory(Const.WorkingAreaBinPath); if (!Directory.Exists(Const.WorkingAreaTempPath)) Directory.CreateDirectory(Const.WorkingAreaTempPath); try { lock (TrackerSync) { var settings = AppSettings.Load(); var tracker = Tracker.Create(settings.MetricsServerUrl, Const.AppName, "{APPMETRICS_ACCESS_KEY}"); _tracker = tracker; _tracker.Log("Info_UserId", settings.UserId); _tracker.Log("Info_NodeName", settings.NodeName); var curAssembly = typeof(AgentServiceClass).Assembly; _tracker.Log("Info_ProcessVersion", curAssembly.FullName); } } catch (Exception exc) { Report(exc); } }
public static Tracker Create(string url, string applicationKey, string accessKey) { lock (Sync) { if (_terminated) throw new InvalidOperationException(); var found = Sessions.Where( session => !session._disposed && session.Url == url && session.ApplicationKey == applicationKey); if (found.FirstOrDefault() != null) return found.First(); var res = new Tracker(url, applicationKey, accessKey); return res; } }
private static void InitTracker(string url, string appKey) { try { lock (TrackerSync) { if (_tracker != null && (_tracker.Url != url || _tracker.ApplicationKey != appKey)) { _tracker.Dispose(); _tracker = null; } if (_tracker == null) { _tracker = Tracker.Create(url, appKey, "{APPMETRICS_ACCESS_KEY}"); MetricsUtil.ReportNodeInfo(_tracker); } } } catch (Exception exc) { Report(exc); } }
public CiapiLatencyRecorder(ClientBase client, Tracker tracker) : base(client) { _tracker = tracker; }