public void WriteMetrics(LnrpcPendingChannelsResponse pendingChannelsResponse)
 {
     if (pendingChannelsResponse.Pending_open_channels != null)
     {
         foreach (var pendingOpen in pendingChannelsResponse.Pending_open_channels)
         {
             var nodeAlias = this.nodeAliasCache.GetNodeAlias(pendingOpen.Channel.Remote_node_pub);
             this.metrics.Write($"{this.configuration.MetricPrefix}_pending_open_channels", GetFields(pendingOpen), GetTags(nodeAlias));
         }
     }
 }
Example #2
0
        public void WriteMetrics(LnrpcPendingChannelsResponse pendingChannelsResponse)
        {
            if (pendingChannelsResponse.Pending_force_closing_channels != null)
            {
                foreach (var pendingForceCLose in pendingChannelsResponse.Pending_force_closing_channels)
                {
                    this.metrics.Write($"{this.configuration.MetricPrefix}_forced_closed_channels", GetFields(pendingForceCLose), GetTags(pendingForceCLose));

                    new LnrpcPendingHtlcMetrics(this.configuration, this.metrics).WriteMetrics(pendingForceCLose);
                }
            }
        }
Example #3
0
        public async Task RefreshOnlyIfNecessary(LnrpcListChannelsResponse listChannelsResponse, LnrpcPendingChannelsResponse pendingChannelsResponse)
        {
            var allPublicKeys = new List <string>();

            if (listChannelsResponse?.Channels != null)
            {
                allPublicKeys.AddRange(listChannelsResponse.Channels.Select(c => c.Remote_pubkey));
            }

            if (pendingChannelsResponse?.Pending_open_channels != null)
            {
                allPublicKeys.AddRange(pendingChannelsResponse.Pending_open_channels.Select(c => c.Channel.Remote_node_pub));
            }

            foreach (var publicKey in allPublicKeys)
            {
                if (this.nodeAliasCache.ContainsKey(publicKey))
                {
                    continue;
                }
                else
                {
                    var nodeInfo = await this.client.SwaggerClient.GetNodeInfoAsync(publicKey).ConfigureAwait(false);

                    this.nodeAliasCache.Add(nodeInfo.Node.Pub_key, nodeInfo.Node.Alias);
                }
            }
        }