Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-08-22Add frozen_string_literal to lib part 2Thong Kuah
Using the sed script from https://gitlab.com/gitlab-org/gitlab-ce/issues/59758
2019-08-16Support query parameters in metrics embedsSarah Yasonik
https://gitlab.com/gitlab-org/gitlab-ce/issues/62971 Adds support for embedding specific charts from the metrics dashboard. Expected parameters are dashboard, title, group, and y_label.
2019-08-14Remove :puma_phase metricsAleksei Lipniagov
We don't use phase restarts, as we use `preload_app`: https://github.com/puma/puma/blob/master/README.md#clustered-mode `:puma_phase` values will always be zero.
2019-08-07Support dashboard params for metrics dashboardSarah Yasonik
https://gitlab.com/gitlab-org/gitlab-ce/issues/62971 Adds support to EnvironmentsController#metrics_dashboard for the following params: group, title, y_label These params are used to uniquely identify a panel on the metrics dashboard. Metrics are stored in several places, so this adds utilities to find a specific panel from the database or filesystem depending on the metric specified. Also moves some shared utilities into separate classes, notably default values and errors.
2019-08-02Call `GC::Profiler.clear` only in one placeAleksei Lipniagov
Previously, both InfluxSampler and RubySampler were relying on the `GC::Profiler.total_time` data which is the sum over the list of captured GC events. Also, both samplers asynchronously called `GC::Profiler.clear` which led to incorrect metric data because each sampler has the wrong assumption it is the only object who calls `GC::Profiler.clear` and thus could rely on the gathered results between such calls. We should ensure that `GC::Profiler.total_time` is called only in one place making it possible to rely on accumulated data between such wipes. Also, we need to track the amount of profiler reports we lost.
2019-07-30Move BaseService to Services directorySarah Yasonik
In preparation for embedding specific metrics in issues https://gitlab.com/gitlab-org/gitlab-ce/issues/62971, this commit moves the BaseService for metrics dashboards to a new services subdirectory. This is purely for the sake of organization and maintainability.
2019-07-24Prefer `flat_map` over `map` + `flatten` in specsPeter Leitzen
Although `flat_map` is equivalent to `map` + `flatten(1)` (note the level 1) we can apply this same refactoring to all cases.
2019-07-19Adjust redis cache metricsBen Kochie
* Remove `controller` and `action` labels from duration histogram. * Create a new simple counter for `controller` and `action`. * Adjust histogram buckets to observe smaller response times.
2019-07-10Expose metrics element for FE consumptionSarah Yasonik
Adds GFM Pipline filters to insert a placeholder in the generated HTML from GFM based on the presence of a metrics dashboard link. The front end should look for the class 'js-render-metrics' to determine if it should replace the element with metrics charts. The data element 'data-dashboard-url' should be the endpoint the front end should hit in order to obtain a dashboard layout in order to appropriately render the charts.
2019-07-09Make unicorn_workers to return meaningful resultsKamil Trzciński
2019-07-04Fix process start timeRyan Cobb
Previously we were recording process start time as seconds from boot. This makes it so we record as epoch time.
2019-06-28Fix spec definitionsAleksei Lipniagov
2019-06-27Add permission check to dashboardsSarah Yasonik
Adds permission checks to the metrics_dashboard endpoint. Users with role of Reporter or above should have access to view the metrics for a given project.
2019-06-20Add embedding flag and filter to CPU/MemSarah Yasonik
This commits adds support for metrics dashboards for embedding. If the flag 'embedded' is provided to the environments/id/metrics_dashboard endpoint, the response will be suitable for embedding in issues or other content. This is a precursor for support for embedding metrics in GFM.
2019-06-14Specify a dropdown name for dashboardsSarah Yasonik
2019-06-07Switch errors to inherit from a base classsyasonik
Error classes associated with individual stages of dashboard processing tend to have very long names. As dashboard post-processing includes more steps, we will likely need to handle more error cases. Refactoring to have all errors inherit from a specific base class will help accommodate this and keep the code more readable.
2019-06-06Address rubocop errorssyasonik
2019-06-06Expose prometheus endpoint per metric in dashboardsyasonik
Adds a new stage to dashboard processesing step for the EnvironmentsController::metrics_dashboard endpoint. Allows the front end to avoid generating the endpoint unitutive string mutations.
2019-06-04Merge branch '61964-unicorn-instrumentation' into 'master'Bob Van Landuyt
Adds ruby and unicorn instrumentation Closes #61964 See merge request gitlab-org/gitlab-ce!28499
2019-06-04Ignore Puma empty worker statsJan Provaznik
In some cases (during worker start) it's possible that Puma.stats returns an empty hash for worker's last status. In that case we just skip sampling of the worker until these stats are available.
2019-05-29Merge branch 'master' into 61964-unicorn-instrumentationRyan Cobb
2019-05-29Add Puma samplerJan Provaznik
This sampler gathers Puma-specific metrics which can be used by Prometheus then.
2019-05-20Adds ruby and unicorn instrumentationRyan Cobb
This adds ruby and unicorn instrumentation. This was originally intended in 11.11 but due to performance concerns it was reverted. This new commit foregoes the sys-proctable gem was causing performance issues previously.
2019-05-20Revert "Merge branch '56850-add-new-unicorn-metrics' into 'master'"Ryan Cobb
This reverts merge request !27474
2019-05-07Merge branch '56850-add-new-unicorn-metrics' into 'master'Ash McKenzie
Resolve "Add new Unicorn metrics" Closes #56850 See merge request gitlab-org/gitlab-ce!27474
2019-05-01Update metrics dashboard API to load yml from repoSarah Yasonik
Updates the EnvironmentController#metrics_dashboard endpoint to support a "dashboard" param, which can be used to specify the filepath of a dashboard configuration from a project repository. Dashboard configurations are expected to be stored in .gitlab/dashboards/. Updates dashboard post-processing steps to exclude custom metrics, which should only display on the system dashboard.
2019-04-30Cleanup spec by removing not needed letRyan Cobb
2019-04-25Move dashboard param to initialize methodsyasonik
2019-04-25Prefer safe_load and deep_symbolize_keyssyasonik
2019-04-25Move MetricsDashboard to Metrics::Dashboardsyasonik
2019-04-25Update docs and calculate process start time via proc tableRyan Cobb
This updates monitor docs to reflect the new ruby and unicorn metrics as well as making it so we fetch process start time via the proc table instead of via CLOCK_BOOTTIME
2019-04-24Move process specific metrics to ruby samplerRyan Cobb
These metrics are not unicorn specific and can be used across ruby processes
2019-04-18Adds new metrics for unicorn monitoringRyan Cobb
This adds new metrics for monitoring unicorn. These metrics include process_cpu_seconds_total, process_start_time_seconds, process_max_fds, and unicorn_workers.
2019-04-04Filters branch and path labels for metricsRyan Cobb
2019-02-06Clean up unicorn sampler metric labelsBen Kochie
Change `type` and `address` labels to be less generic to avoid conflicts with other systems.
2018-09-05Ignore irrelevant sql commands in metricsMark Chao
Fix #51005
2018-06-22Cleanup ruby sampler metricsBen Kochie
* Use a simple counter for sampler duration instead of a histogram. * Use a counter to collect GC time. * Remove unused objects metric. * Cleanup metric names to match Prometheus conventions. * Prefix generic GC stats with `gc_stat`. * Include worker label on memory and file descriptor metrics.
2018-06-20Merge branch 'limit-metrics-content-type' into 'master'Stan Hu
Limit the action suffixes in transaction metrics See merge request gitlab-org/gitlab-ce!20032
2018-06-20Remove remaining traces of the Allocations GemYorick Peterse
In MR https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/15834 we removed use of the data produced by the Allocations Gem. However, we never removed the code that just enables tracking of allocations. In this commit we remove all remaining traces of this Gem.
2018-06-20Limit the action suffixes in transaction metricsYorick Peterse
There seem to be a lot of cases where the suffix of an action (e.g. ".html") is set to bogus data, such as "*/*" or entire URLs. This can increase cardinality of our metrics, and isn't very useful for monitoring and filtering. To work around this, we enforce a whitelist containing a few suffixes we actually care about. Suffixes not supported will be grouped under the action without a suffix. This means that a request to "FooController#bar.jpeg" will be assigned to "FooController#bar".
2018-05-16Fix GPM content types for DoorkeeperYorick Peterse
Certain controllers (e.g. Doorkeeper::TokensController) don't expose the method "request_format". This commit changes Gitlab::Metrics::WebTransaction so we don't rely on this method, instead using the underlying code this method uses. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/46412
2018-05-15Fix setting Gitlab metrics content typesYorick Peterse
The method "content_type" on a controller does not always return the correct content type. On the other hand, the method "request_format" does _and_ immediately returns a Symbol (e.g. :json) instead of a mime-type name (e.g. application/json). With these changes metrics should again report their action names correctly. Fixes https://gitlab.com/gitlab-com/infrastructure/issues/3499
2018-05-10Support resetting of Prometheus metrics between test runsStan Hu
Adding the :prometheus tag to an rspec test will clear out memory-mapped files and reset the registry. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/39968
2018-04-02Move Sidekiq exporter logs to log/sidekiq_exporter.logStan Hu
The Sidekiq exporter logs were mixing with the normal Sidekiq logs. In order to support structured logging in Sidekiq, we either need to split this data out or convert the exporter to produce structured logs. Since Sidekiq job processing is fundamentally different information from Web server traffic, it seems cleaner to move the metrics traffic into a separate file, where they can be parsed by a different filter if needed. Relates to #20060
2018-01-29Rename Concern -> MethodsPawel Chojnacki
2018-01-29use public_send where appropriatePawel Chojnacki
2018-01-29before -> afterPawel Chojnacki
2018-01-29use define_method to define devine_metric_method. (couldn't resist)Pawel Chojnacki
2018-01-29Fix ruby sampler specPawel Chojnacki
2018-01-29Convert InfluxDB to concern. Fix uninitialized metrics when metrics code is ↵Pawel Chojnacki
inherited.