private async Task RegisterApplication(CancellationToken cancellationToken)
        {
            if (!RuntimeEnvironment.ApplicationId.HasValue)
            {
                var value = await Polling(3, () => SkyWalking.RegisterApplicationAsync(_config.ApplicationCode, cancellationToken), cancellationToken);

                if (value.HasValue && RuntimeEnvironment is RuntimeEnvironment environment)
                {
                    environment.ApplicationId = value;
                    Logger.Information($"Registered Application[Id={environment.ApplicationId.Value}].");
                }
            }
        }
Example #2
0
 private async Task Heartbeat(CancellationToken cancellationToken)
 {
     if (RuntimeEnvironment.Initialized)
     {
         try
         {
             await SkyWalking.HeartbeatAsync(RuntimeEnvironment.ApplicationInstanceId.Value, DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(), cancellationToken);
         }
         catch (Exception e)
         {
             Logger.Error($"Heartbeat error at {DateTimeOffset.UtcNow}.", e);
             Logger.Error("Heartbeat error.", e);
         }
     }
 }
        private async Task RegisterApplicationInstance(CancellationToken cancellationToken)
        {
            if (RuntimeEnvironment.ApplicationId.HasValue && !RuntimeEnvironment.ApplicationInstanceId.HasValue)
            {
                var osInfoRequest = new AgentOsInfoRequest
                {
                    HostName  = DnsHelpers.GetHostName(),
                    IpAddress = DnsHelpers.GetIpV4s(),
                    OsName    = PlatformInformation.GetOSName(),
                    ProcessNo = Process.GetCurrentProcess().Id
                };
                var value = await Polling(3,
                                          () => SkyWalking.RegisterApplicationInstanceAsync(RuntimeEnvironment.ApplicationId.Value, RuntimeEnvironment.AgentUUID,
                                                                                            DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(), osInfoRequest, cancellationToken), cancellationToken);

                if (value.HasValue && RuntimeEnvironment is RuntimeEnvironment environment)
                {
                    environment.ApplicationInstanceId = value;
                    Logger.Information($"Registered Application Instance[Id={environment.ApplicationInstanceId.Value}].");
                }
            }
        }