Thanks very much for persisting with this. This latest version does prevent the high rate of requests, and I can see the channel count is now 1 post JSD restart.
It is successful in reconnecting. However, I’m perplexed as the LoginCheck RPC is not being initiated upon reconnection
The client ID is not displayed as expected as a result:
foo@bar> show extension-service request-response clients
Client ID Socket Address Client Type Client
Login Time (UTC) Channel Count
unix::17 unix::17 gRPC No Login Time 1
unix::18 unix::18 gRPC No Login Time 1
// upon initial connection
foo@bar> show extension-service request-response clients
Client ID Socket Address Client Type Client
Login Time (UTC) Channel Count
telegraf ipv6:::ffff:10.85.210.151:58258 gRPC Wed Jul 26 23:44:10 2023 1
unix::17 unix::17 gRPC No Login Time 1
unix::18 unix::18 gRPC No Login Time 1
// post JSD restart, with the previous version the channel count was 0. Note the client ID
foo@bar> show extension-service request-response clients
Client ID Socket Address Client Type Client
Login Time (UTC) Channel Count
ipv6:::ffff:10.85.210.151:48204 ipv6:::ffff:10.85.210.151:48204 gRPC Wed Jul 26 23:45:43 2023 1
unix::30 unix::30 gRPC No Login Time 1
unix::31 unix::31 gRPC No Login Time 1
// telegraf debugs
root@ubuntu:~# /usr/bin/telegraf -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d --debug
2023-07-26T23:06:18Z I! Loading config: /etc/telegraf/telegraf.conf
2023-07-26T23:06:18Z I! Starting Telegraf 1.28.0-47dffb41
2023-07-26T23:06:18Z I! Available plugins: 237 inputs, 9 aggregators, 28 processors, 24 parsers, 59 outputs, 5 secret-stores
2023-07-26T23:06:18Z I! Loaded inputs: cpu disk diskio jti_openconfig_telemetry kernel mem processes swap system
2023-07-26T23:06:18Z I! Loaded aggregators:
2023-07-26T23:06:18Z I! Loaded processors:
2023-07-26T23:06:18Z I! Loaded secretstores:
2023-07-26T23:06:18Z I! Loaded outputs: influxdb prometheus_client
2023-07-26T23:06:18Z I! Tags enabled: host=ubuntu
2023-07-26T23:06:18Z I! [agent] Config: Interval:10s, Quiet:false, Hostname:"ubuntu", Flush Interval:10s
2023-07-26T23:06:18Z D! [agent] Initializing plugins
2023-07-26T23:06:18Z D! [agent] Connecting outputs
2023-07-26T23:06:18Z D! [agent] Attempting connection to [outputs.influxdb]
2023-07-26T23:06:18Z D! [agent] Successfully connected to outputs.influxdb
2023-07-26T23:06:18Z D! [agent] Attempting connection to [outputs.prometheus_client]
2023-07-26T23:06:18Z I! [outputs.prometheus_client] Listening on http://[::]:9273/metrics
2023-07-26T23:06:18Z D! [agent] Successfully connected to outputs.prometheus_client
2023-07-26T23:06:18Z D! [agent] Starting service inputs
2023-07-26T23:06:18Z D! [inputs.jti_openconfig_telemetry] Opened a new gRPC session to 10.85.248.10 on port 50051
2023-07-26T23:06:18Z D! [inputs.jti_openconfig_telemetry] Sucessfully subscribed to /interfaces/ on 10.85.248.10
2023-07-26T23:06:28Z D! [outputs.prometheus_client] Wrote batch of 25 metrics in 396.693µs
2023-07-26T23:06:28Z D! [outputs.prometheus_client] Buffer fullness: 0 / 10000 metrics
2023-07-26T23:06:28Z D! [outputs.influxdb] Wrote batch of 25 metrics in 8.725532ms
2023-07-26T23:06:28Z D! [outputs.influxdb] Buffer fullness: 0 / 10000 metrics
2023-07-26T23:06:38Z D! [outputs.prometheus_client] Wrote batch of 34 metrics in 345.338µs
2023-07-26T23:06:38Z D! [outputs.prometheus_client] Buffer fullness: 0 / 10000 metrics
2023-07-26T23:06:38Z D! [outputs.influxdb] Wrote batch of 34 metrics in 67.219836ms
2023-07-26T23:06:38Z D! [outputs.influxdb] Buffer fullness: 0 / 10000 metrics
2023-07-26T23:06:48Z D! [outputs.prometheus_client] Wrote batch of 34 metrics in 325.526µs
2023-07-26T23:06:48Z D! [outputs.prometheus_client] Buffer fullness: 0 / 10000 metrics
2023-07-26T23:06:48Z D! [outputs.influxdb] Wrote batch of 34 metrics in 11.000936ms
2023-07-26T23:06:48Z D! [outputs.influxdb] Buffer fullness: 0 / 10000 metrics
2023-07-26T23:06:58Z D! [outputs.prometheus_client] Wrote batch of 34 metrics in 838.051µs
2023-07-26T23:06:58Z D! [outputs.prometheus_client] Buffer fullness: 0 / 10000 metrics
2023-07-26T23:06:58Z D! [outputs.influxdb] Wrote batch of 34 metrics in 10.468913ms
2023-07-26T23:06:58Z D! [outputs.influxdb] Buffer fullness: 0 / 10000 metrics
2023-07-26T23:07:07Z E! [inputs.jti_openconfig_telemetry] Error in plugin: failed to read from /interfaces/ from 10.85.248.10: rpc error: code = Unavailable desc = error reading from server: EOF
2023-07-26T23:07:08Z D! [outputs.prometheus_client] Wrote batch of 34 metrics in 886.398µs
2023-07-26T23:07:08Z D! [outputs.prometheus_client] Buffer fullness: 0 / 10000 metrics
2023-07-26T23:07:08Z D! [outputs.influxdb] Wrote batch of 34 metrics in 8.836802ms
2023-07-26T23:07:08Z D! [outputs.influxdb] Buffer fullness: 0 / 10000 metrics
2023-07-26T23:07:09Z D! [inputs.jti_openconfig_telemetry] Retrying /interfaces/ from 10.85.248.10 with timeout 1s
2023-07-26T23:07:10Z D! [inputs.jti_openconfig_telemetry] Retrying /interfaces/ from 10.85.248.10 with timeout 1s
2023-07-26T23:07:11Z D! [inputs.jti_openconfig_telemetry] Sucessfully subscribed to /interfaces/ on 10.85.248.10
^C2023-07-26T23:07:17Z D! [agent] Stopping service inputs
// jsd traces for initial connection:
Jul 26 16:06:18 TerminateClient: Client ipv6:::ffff:10.85.210.151:42862 not found in client map
Jul 26 16:06:18 TerminateClientThreads: Removing thread info for peer ipv6:::ffff:10.85.210.151:42862
Jul 26 16:06:18 TerminateClientThreads: Number of grpc clients connected: 2
Jul 26 16:06:18 peer = 16: ipv4:10.85.210.151:46526
Jul 26 16:06:18 JGrpcServerStart: Proto Desriptor object found in proto map for RPC /authentication.Login/LoginCheck for peer ipv6:::ffff:10.85.210.151:46526
Jul 26 16:06:18 TerminateClientThreads: Number of grpc clients connected: 2
Jul 26 16:06:18 Default IRI address is 128.0.0.4:51051
Jul 26 16:06:18 GetExternalConnectionCount: external count: 0
Jul 26 16:06:18 TerminateClientThreads: Number of grpc servers connected: 0
Jul 26 16:06:18 Default IRI address is 128.0.0.4:51051
Jul 26 16:06:18 GetExternalConnectionCount: external count: 0
Jul 26 16:06:18 Freeing connection for peer ipv6:::ffff:10.85.210.151:42862 and connection is 0x38e0320
Jul 26 16:06:18 Allocated connection for peer ipv6:::ffff:10.85.210.151:46526 and connection is 0x38e05c0
Jul 26 16:06:18 CreateClientInfo: client info for peer ipv6:::ffff:10.85.210.151:46526 created successfully
Jul 26 16:06:18 CreateClientHandler: Number of grpc clients connected: 3
Jul 26 16:06:18 JGrpcServerStart: Ipv4 address of connected socket is 10.85.248.10
Jul 26 16:06:18 JGrpcServerStart: callInfo for RPC /authentication.Login/LoginCheck for peer ipv6:::ffff:10.85.210.151:46526 pushed to call queue
Jul 26 16:06:18 grpcClientThread: Processing RPC /authentication.Login/LoginCheck
Jul 26 16:06:18 AllocCallMem:GRPC Server Call Completion queue created successfully
Jul 26 16:06:18 AllocCallMem:GRPC Server Call Details initialized successfully
Jul 26 16:06:18 CreateJapiChannel:GRPC Channel created Successfully
Jul 26 16:06:18 BindClientFdToVrf: URI is unix:/var/run/japi_aaasd
Jul 26 16:06:18 BindClientFdToVrf: Fd 24 is of type unix domain socket, returning
Jul 26 16:06:18 CreateJapiChannel:GRPC Channel created Successfully
Jul 26 16:06:18 BindClientFdToVrf: URI is unix:/var/run/japi_aaasd
Jul 26 16:06:18 BindClientFdToVrf: Fd 24 is of type unix domain socket, returning
Jul 26 16:06:18 SendGrpcLoginResponse: AAASD returned success
Jul 26 16:06:18 AddClientId: client id telegraf added to id set
Jul 26 16:06:18 SendGrpcLoginResponse: Authentication response sent to client telegraf
Jul 26 16:06:18 SendGrpcLoginResponse: Call cleanup and call is 0x37ca450
Jul 26 16:06:18 TerminateClientThreads: Number of grpc clients connected: 3
Jul 26 16:06:18 peer = 16: ipv4:10.85.210.151:46526
Jul 26 16:06:18 JGrpcServerStart: Proto Desriptor object found in proto map for RPC /telemetry.OpenConfigTelemetry/telemetrySubscribe for peer ipv6:::ffff:10.85.210.151:46526
Jul 26 16:06:18 JGrpcServerStart: Ipv4 address of connected socket is 10.85.248.10
Jul 26 16:06:18 JGrpcServerStart: callInfo for RPC /telemetry.OpenConfigTelemetry/telemetrySubscribe for peer ipv6:::ffff:10.85.210.151:46526 pushed to call queue
Jul 26 16:06:18 AllocCallMem:GRPC Server Call Completion queue created successfully
Jul 26 16:06:18 AllocCallMem:GRPC Server Call Details initialized successfully
Jul 26 16:06:18 grpcClientThread: Processing RPC /telemetry.OpenConfigTelemetry/telemetrySubscribe
Jul 26 16:06:18 CreateJapiChannel:GRPC Channel created Successfully
Jul 26 16:06:18 BindClientFdToVrf: URI is unix:/var/run/japi_aaasd
Jul 26 16:06:18 BindClientFdToVrf: Fd 24 is of type unix domain socket, returning
Jul 26 16:06:18 CreateJapiChannel:GRPC Channel created Successfully
Jul 26 16:06:18 BindClientFdToVrf: URI is unix:/var/run/japi_aaasd
Jul 26 16:06:18 BindClientFdToVrf: Fd 24 is of type unix domain socket, returning
Jul 26 16:06:18 Package name: telemetry
Jul 26 16:06:18 CreateJapiChannel:GRPC Channel created Successfully
Jul 26 16:06:18 grpcClientThread: Invoking GrpcToJapi, Peer: ipv6:::ffff:10.85.210.151:46526, CQ: 0x27fab00, Call: 0x37cc050
Jul 26 16:06:18 CreateCompletionQueue:GRPC Completion queue created Successfully
Jul 26 16:06:18 grpcClientThread: Initializing call for RPC /telemetry.OpenConfigTelemetry/telemetrySubscribe
Jul 26 16:06:18 GrpcCall:GRPC call for RPC: /telemetry.OpenConfigTelemetry/telemetrySubscribe to host unix:/var/run/japi_na-grpcd created Successfully
Jul 26 16:06:18 IncrRefCount: rpc request is /telemetry.OpenConfigTelemetry/telemetrySubscribe
Jul 26 16:06:18 IncrRefCount: Ref count incremented to 3 for RPC /telemetry.OpenConfigTelemetry/telemetrySubscribe
Jul 26 16:06:18 AddCallTag: Tag id request_1 added to tag map for client telegraf
Jul 26 16:06:18 ########### AddCallTag: Total Requests: 1
Jul 26 16:06:18 CreateGrpcCall: Thread to handle grpc requests from client telegraf initialized and started successfully
Jul 26 16:06:18 GrpcSendInitialMetadata: client-id metadata for RPC: /telemetry.OpenConfigTelemetry/telemetrySubscribe is telegraf
Jul 26 16:06:18 BindClientFdToVrf: URI is unix:/var/run/japi_na-grpcd
Jul 26 16:06:18 BindClientFdToVrf: Fd 26 is of type unix domain socket, returning
Jul 26 16:06:18 Listen: Grpc channel to unix:/var/run/japi_na-grpcd transitioned from GRPC_CHANNEL_IDLE state to GRPC_CHANNEL_CONNECTING for client ipv6:::ffff:10.85.210.151:46526
Jul 26 16:06:18 RegisterCallCancel:Registering grpc op to handle call cancel
Jul 26 16:06:18 AddCallTag: Tag id request_2 added to tag map for client telegraf
Jul 26 16:06:18 ########### AddCallTag: Total Requests: 2
Jul 26 16:06:18 PushCallQueue: tag request_2 pushed to queue
Jul 26 16:06:18 RegisterCallCancel: Registered grpc op to monitor call cancel successfully for RPC: /telemetry.OpenConfigTelemetry/telemetrySubscribe
Jul 26 16:06:18 grpcClientThread: Call init successful for RPC /telemetry.OpenConfigTelemetry/telemetrySubscribe
Jul 26 16:06:18 Listen: Grpc channel to unix:/var/run/japi_na-grpcd transitioned from GRPC_CHANNEL_CONNECTING state to GRPC_CHANNEL_READY for client ipv6:::ffff:10.85.210.151:46526
// jsd traces post jsd restart
Jul 26 16:07:11 TerminateClientThreads: Number of grpc clients connected: 2
Jul 26 16:07:11 peer = 38: ipv4:10.85.210.151:47556
Jul 26 16:07:11 JGrpcServerStart: Proto Desriptor object found in proto map for RPC /telemetry.OpenConfigTelemetry/telemetrySubscribe for peer ipv6:::ffff:10.85.210.151:47556
Jul 26 16:07:11 TerminateClientThreads: Number of grpc clients connected: 2
Jul 26 16:07:11 Default IRI address is 128.0.0.4:51051
Jul 26 16:07:11 GetExternalConnectionCount: external count: 0
Jul 26 16:07:11 TerminateClientThreads: Number of grpc servers connected: 0
Jul 26 16:07:11 Default IRI address is 128.0.0.4:51051
Jul 26 16:07:11 GetExternalConnectionCount: external count: 0
Jul 26 16:07:11 Allocated connection for peer ipv6:::ffff:10.85.210.151:47556 and connection is 0x38e04a0
Jul 26 16:07:11 CreateClientInfo: client info for peer ipv6:::ffff:10.85.210.151:47556 created successfully
Jul 26 16:07:11 CreateClientHandler: Number of grpc clients connected: 3
Jul 26 16:07:11 JGrpcServerStart: Ipv4 address of connected socket is 10.85.248.10
Jul 26 16:07:11 JGrpcServerStart: callInfo for RPC /telemetry.OpenConfigTelemetry/telemetrySubscribe for peer ipv6:::ffff:10.85.210.151:47556 pushed to call queue
Jul 26 16:07:11 AllocCallMem:GRPC Server Call Completion queue created successfully
Jul 26 16:07:11 AllocCallMem:GRPC Server Call Details initialized successfully
Jul 26 16:07:11 grpcClientThread: Processing RPC /telemetry.OpenConfigTelemetry/telemetrySubscribe
Jul 26 16:07:11 CreateJapiChannel:GRPC Channel created Successfully
Jul 26 16:07:11 BindClientFdToVrf: URI is unix:/var/run/japi_aaasd
Jul 26 16:07:11 BindClientFdToVrf: Fd 51 is of type unix domain socket, returning
Jul 26 16:07:11 CreateJapiChannel:GRPC Channel created Successfully
Jul 26 16:07:11 BindClientFdToVrf: URI is unix:/var/run/japi_aaasd
Jul 26 16:07:11 BindClientFdToVrf: Fd 51 is of type unix domain socket, returning
Jul 26 16:07:11 AddClientId: client id ipv6:::ffff:10.85.210.151:47556 added to id set
Jul 26 16:07:11 CreateJapiChannel:GRPC Channel created Successfully
Jul 26 16:07:11 BindClientFdToVrf: URI is unix:/var/run/japi_aaasd
Jul 26 16:07:11 BindClientFdToVrf: Fd 51 is of type unix domain socket, returning
Jul 26 16:07:11 CreateJapiChannel:GRPC Channel created Successfully
Jul 26 16:07:11 BindClientFdToVrf: URI is unix:/var/run/japi_aaasd
Jul 26 16:07:11 BindClientFdToVrf: Fd 51 is of type unix domain socket, returning
Jul 26 16:07:11 Package name: telemetry
Jul 26 16:07:11 CreateJapiChannel:GRPC Channel created Successfully
Jul 26 16:07:11 grpcClientThread: Invoking GrpcToJapi, Peer: ipv6:::ffff:10.85.210.151:47556, CQ: 0x27fa700, Call: 0x37c8850
Jul 26 16:07:11 CreateCompletionQueue:GRPC Completion queue created Successfully
Jul 26 16:07:11 grpcClientThread: Initializing call for RPC /telemetry.OpenConfigTelemetry/telemetrySubscribe
Jul 26 16:07:11 GrpcCall:GRPC call for RPC: /telemetry.OpenConfigTelemetry/telemetrySubscribe to host unix:/var/run/japi_na-grpcd created Successfully
Jul 26 16:07:11 IncrRefCount: rpc request is /telemetry.OpenConfigTelemetry/telemetrySubscribe
Jul 26 16:07:11 IncrRefCount: Ref count incremented to 3 for RPC /telemetry.OpenConfigTelemetry/telemetrySubscribe
Jul 26 16:07:11 AddCallTag: Tag id request_1 added to tag map for client ipv6:::ffff:10.85.210.151:47556
Jul 26 16:07:11 ########### AddCallTag: Total Requests: 1
Jul 26 16:07:11 CreateGrpcCall: Thread to handle grpc requests from client ipv6:::ffff:10.85.210.151:47556 initialized and started successfully
Jul 26 16:07:11 GrpcSendInitialMetadata: client-id metadata for RPC: /telemetry.OpenConfigTelemetry/telemetrySubscribe is ipv6:::ffff:10.85.210.151:47556
Jul 26 16:07:11 BindClientFdToVrf: URI is unix:/var/run/japi_na-grpcd
Jul 26 16:07:11 BindClientFdToVrf: Fd 53 is of type unix domain socket, returning
Jul 26 16:07:11 Listen: Grpc channel to unix:/var/run/japi_na-grpcd transitioned from GRPC_CHANNEL_IDLE state to GRPC_CHANNEL_CONNECTING for client ipv6:::ffff:10.85.210.151:47556
Jul 26 16:07:11 RegisterCallCancel:Registering grpc op to handle call cancel
Jul 26 16:07:11 AddCallTag: Tag id request_2 added to tag map for client ipv6:::ffff:10.85.210.151:47556
Jul 26 16:07:11 ########### AddCallTag: Total Requests: 2
Jul 26 16:07:11 PushCallQueue: tag request_2 pushed to queue
Jul 26 16:07:11 RegisterCallCancel: Registered grpc op to monitor call cancel successfully for RPC: /telemetry.OpenConfigTelemetry/telemetrySubscribe
Jul 26 16:07:11 grpcClientThread: Call init successful for RPC /telemetry.OpenConfigTelemetry/telemetrySubscribe
Jul 26 16:07:11 Listen: Grpc channel to unix:/var/run/japi_na-grpcd transitioned from GRPC_CHANNEL_CONNECTING state to GRPC_CHANNEL_READY for client ipv6:::ffff:10.85.210.151:47556