$CI_ENVIRONMENT_SLUG
" }).html_safe
+ = html_escape(s_("PrometheusService|To set up automatic monitoring, add the environment variable %{variable} to exporter's queries.")) % { variable: "$CI_ENVIRONMENT_SLUG
".html_safe }
= link_to s_('PrometheusService|More information'), help_page_path('operations/metrics/dashboards/variables.md', anchor: 'query-variables')
%ul.list-unstyled.metrics-list.js-missing-var-metrics-list
diff --git a/app/views/shared/runners/_runner_details.html.haml b/app/views/shared/runners/_runner_details.html.haml
index f6396168cb3..64ee4b38a73 100644
--- a/app/views/shared/runners/_runner_details.html.haml
+++ b/app/views/shared/runners/_runner_details.html.haml
@@ -2,7 +2,7 @@
- page_title "##{runner.id} (#{runner.short_sha})"
%h1.page-title.gl-font-size-h-display
- = s_('Runners|Runner #%{runner_id}' % { runner_id: runner.id })
+ = s_('Runners|Runner #%{runner_id}') % { runner_id: runner.id }
= render 'shared/runners/runner_type_badge', runner: runner
.table-holder
diff --git a/config/feature_flags/development/remove_monitor_metrics.yml b/config/feature_flags/development/remove_monitor_metrics.yml
new file mode 100644
index 00000000000..a2f082ac977
--- /dev/null
+++ b/config/feature_flags/development/remove_monitor_metrics.yml
@@ -0,0 +1,8 @@
+---
+name: remove_monitor_metrics
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/115714
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/399248
+milestone: '15.11'
+type: development
+group: group::respond
+default_enabled: false
diff --git a/config/feature_flags/ops/dynamic_image_resizing.yml b/config/feature_flags/ops/dynamic_image_resizing.yml
deleted file mode 100644
index 7ecf97d34a5..00000000000
--- a/config/feature_flags/ops/dynamic_image_resizing.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: dynamic_image_resizing
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45050
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/266986
-milestone: '13.6'
-type: ops
-group: group::tenant scale
-default_enabled: true
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index cb184b1e7a8..57868455803 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -12238,7 +12238,7 @@ four standard [pagination arguments](#connection-pagination-arguments):
| `membership` | [`Boolean`](#boolean) | Return only projects that the current user is a member of. |
| `search` | [`String`](#string) | Search query, which can be for the project name, a path, or a description. |
| `searchNamespaces` | [`Boolean`](#boolean) | Include namespace in project search. |
-| `sort` **{warning-solid}** | [`String`](#string) | **Deprecated** in 15.4. Default sort order will change in 16.0. Specify `"id_asc"` if query results' order is important. |
+| `sort` | [`String`](#string) | Sort order of results. Format: `+ graph TD; + A-- > B; + A-- > C; + B-- > D; + C-- > D; ++
This cop checks for methods with too many parameters. The maximum number of parameters is configurable. Keyword arguments can optionally be excluded from the total count.
') end end end diff --git a/spec/lib/gitlab/metrics/subscribers/action_cable_spec.rb b/spec/lib/gitlab/metrics/subscribers/action_cable_spec.rb index 77c42f57f3c..6a4ef894fae 100644 --- a/spec/lib/gitlab/metrics/subscribers/action_cable_spec.rb +++ b/spec/lib/gitlab/metrics/subscribers/action_cable_spec.rb @@ -5,19 +5,22 @@ require 'spec_helper' RSpec.describe Gitlab::Metrics::Subscribers::ActionCable, :request_store, feature_category: :application_performance do let(:subscriber) { described_class.new } let(:counter) { double(:counter) } - let(:data) { { 'result' => { 'data' => { 'event' => 'updated' } } } } + let(:histogram) { double(:histogram) } let(:channel_class) { 'IssuesChannel' } - let(:event) do - double( - :event, - name: name, - payload: payload - ) + let(:event) { double(:event, name: name, payload: payload) } + + before do + allow(::Gitlab::Metrics).to receive(:counter).with( + :action_cable_single_client_transmissions_total, /transmit/ + ).and_return(counter) + allow(::Gitlab::Metrics).to receive(:histogram).with( + :action_cable_transmitted_bytes, /transmit/ + ).and_return(histogram) end describe '#transmit' do let(:name) { 'transmit.action_cable' } - let(:via) { 'streamed from issues:Z2lkOi8vZs2l0bGFiL0lzc3VlLzQ0Ng' } + let(:via) { nil } let(:payload) do { channel_class: channel_class, @@ -26,25 +29,71 @@ RSpec.describe Gitlab::Metrics::Subscribers::ActionCable, :request_store, featur } end - it 'tracks the transmit event' do - allow(::Gitlab::Metrics).to receive(:counter).with( - :action_cable_single_client_transmissions_total, /transmit/ - ).and_return(counter) + let(:message_size) { ::Gitlab::Json.generate(data).bytesize } - expect(counter).to receive(:increment) + context 'for transmissions initiated by Channel instance' do + let(:data) { {} } + let(:expected_labels) do + { + channel: channel_class, + broadcasting: nil, + caller: 'channel' + } + end - subscriber.transmit(event) + it 'tracks the event with "caller" set to "channel"' do + expect(counter).to receive(:increment).with(expected_labels) + expect(histogram).to receive(:observe).with(expected_labels, message_size) + + subscriber.transmit(event) + end end - it 'tracks size of payload as JSON' do - allow(::Gitlab::Metrics).to receive(:histogram).with( - :action_cable_transmitted_bytes, /transmit/ - ).and_return(counter) - message_size = ::Gitlab::Json.generate(data).bytesize + context 'for transmissions initiated by GraphQL event subscriber' do + let(:via) { 'streamed from graphql-subscription:09ae595a-45c4-4ae0-b765-4e503203211d' } + let(:data) { { result: { 'data' => { 'issuableEpicUpdated' => '