Class: Gitlab::Metrics::Subscribers::ActionCable
- Inherits:
-
ActiveSupport::Subscriber
- Object
- ActiveSupport::Subscriber
- Gitlab::Metrics::Subscribers::ActionCable
- Includes:
- Utils::StrongMemoize
- Defined in:
- lib/gitlab/metrics/subscribers/action_cable.rb
Constant Summary collapse
- SOURCE_DIRECT =
'channel'
- SOURCE_GRAPHQL_EVENT =
'graphql-event'
- SOURCE_GRAPHQL_SUBSCRIPTION =
'graphql-subscription'
- SOURCE_OTHER =
'unknown'
- SINGLE_CLIENT_TRANSMISSION =
:action_cable_single_client_transmissions_total
- TRANSMIT_SUBSCRIPTION_CONFIRMATION =
:action_cable_subscription_confirmations_total
- TRANSMIT_SUBSCRIPTION_REJECTION =
:action_cable_subscription_rejections_total
- BROADCAST =
:action_cable_broadcasts_total
- DATA_TRANSMITTED_BYTES =
:action_cable_transmitted_bytes_total
Instance Method Summary collapse
- #broadcast(event) ⇒ Object
- #transmit(event) ⇒ Object
- #transmit_subscription_confirmation(event) ⇒ Object
- #transmit_subscription_rejection(event) ⇒ Object
Instance Method Details
#broadcast(event) ⇒ Object
44 45 46 |
# File 'lib/gitlab/metrics/subscribers/action_cable.rb', line 44 def broadcast(event) broadcast_counter.increment({ broadcasting: normalize_source(event.payload[:broadcasting]) }) end |
#transmit(event) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/gitlab/metrics/subscribers/action_cable.rb', line 30 def transmit(event) payload = event.payload labels = { channel: payload[:channel_class], caller: normalize_source(payload[:via]) } labels[:broadcasting] = graphql_event_broadcasting_from(payload[:data]) transmit_counter.increment(labels) data_size = Gitlab::Json.generate(payload[:data]).bytesize transmitted_bytes_counter.increment(labels, data_size) end |
#transmit_subscription_confirmation(event) ⇒ Object
22 23 24 |
# File 'lib/gitlab/metrics/subscribers/action_cable.rb', line 22 def transmit_subscription_confirmation(event) confirm_subscription_counter.increment end |
#transmit_subscription_rejection(event) ⇒ Object
26 27 28 |
# File 'lib/gitlab/metrics/subscribers/action_cable.rb', line 26 def transmit_subscription_rejection(event) reject_subscription_counter.increment end |