• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

prometheus / client_ruby
84%
master: 100%

Build:
Build:
LAST BUILD BRANCH: fix_with_labels
DEFAULT BRANCH: master
Repo Added 16 May 2014 05:49AM UTC
Files 32
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH all_metrics_one_file
branch: all_metrics_one_file
CHANGE BRANCH
x
Reset
  • all_metrics_one_file
  • RichiH-patch-1
  • add_script_name_in_collector_path
  • beorn7/doc
  • beorn7/license-cleanup
  • beorn7/meta
  • beorn7/push
  • bump_version_0_11_alpha
  • coveralls
  • document_startup_file_cleanup
  • dont_revalidate_symbols_on_increment
  • exchangeable-value-types
  • fix_all_labels_preset_warning
  • fix_jruby_travis
  • fix_label_order_bug
  • fix_with_labels
  • grobie/add-path-substitution-example
  • grobie/basic-auth
  • grobie/ensure-non-nil-values
  • grobie/fix-gauge-increment-documentation
  • grobie/fix-histogram-bucket-metrics
  • grobie/fix-lint-warnings
  • grobie/fix-rubocop
  • grobie/fix-travis-build-old-ruby
  • grobie/middleware-rewrite
  • grobie/sanitize-http-path-by-default
  • grobie/validate-metric-name
  • gzip
  • improved_documentation
  • init_metrics_without_labels
  • labelset_validator_cache_mutex
  • labelset_validator_no_cache
  • labelset_validator_nocache_norevalidatesymbols
  • master
  • multiprocess
  • push
  • refactor
  • remove-counter-decrement
  • remove-json-format
  • remove_deprecated_escaping
  • repo_sync
  • sinjo-add-missing-require
  • sinjo-bump-version
  • sinjo-consistent-metric-stores
  • sinjo-default-unaggregated-gauges
  • sinjo-improve-path-handling
  • sinjo-label-values-to-s
  • sinjo-per-store-docs
  • sinjo-readme-tweaks
  • sinjo-remove-flexible-rack-labels
  • sinjo-remove-old-version-pins
  • sinjo-reopen-on-fork
  • sinjo-unaggregated-gauges
  • sinjo-update-gemspec
  • sinjo-update-gemspec-authors
  • sinjo-update-maintainers
  • sinjo-wordsmithing
  • support_latest_rubies
  • support_ruby_3
  • textformat
  • travis-2.2.x
  • turn_on_rspec_warnings
  • update-example
  • use_monitor_instead_of_read_write_lock
  • v0.10.0
  • v0.10.0.pre.alpha.1
  • v0.10.0.pre.alpha.2
  • v0.11.0.pre.alpha.1
  • v0.3.0
  • v0.3.0.pre.rc.1
  • v0.3.1
  • v0.4.0
  • v0.4.1
  • v0.4.2
  • v0.5.0
  • v0.6.0
  • v0.7.0
  • v0.7.0.pre.rc.1
  • v0.7.1
  • v0.8.0
  • v0.9.0
  • v1.0.0
  • v1_0
  • v2.0.0
  • v2.1.0
  • v2_0
  • v2_1

pending completion
519

Pull #161

travis-ci

web-flow
Fix the "subtle" bug introduced in the previous commit

So, again, I don't propose we actually do this, this is just illustrative
of what we need to do, and didn't want it to get lost.

The problem with the previous commit is that for each metric, we open a
new FileMappedDict. All of them sharing the same file is "fine", actually.
The problem comes from the fact that each instance of FileMappedDict has
their own version of `@used`. When one metric adds a new entry to the file,
it moves its own `@used` pointed, but the other instances don't notice this.

As soon as a second instance that had already been loaded adds a new labelset,
it corrupts the file.

This only shows up when running the benchmarks, with histograms. Counters
(in our benchmark) don't reproduce it, because each metric in our benchmark
only has one labelset. They all get added initially to the file, and an
already loded Dict doesn't add new ones. The reason Histograms reproduce it
is that new observations may report a bucket that wasn't seen before, which
is effectively a new labelset.

The solution is for all MetricStore instances to share one single FileMappedDict.
This is not particularly hard, but the current MetricStore is not written
in a way that allows that without doing this crap.

We should find a better way. I'm just leaving this here as documentation
of this problem, for the next brave soul attempting this
Pull Request #161: One file per process instead of per metric/process for DirectFileStore [DOESNT WORK]

53 of 53 new or added lines in 2 files covered. (100.0%)

3855 of 4587 relevant lines covered (84.04%)

33.18 hits per line

Relevant lines Covered
Build:
Build:
4587 RELEVANT LINES 3855 COVERED LINES
33.18 HITS PER LINE
Source Files on all_metrics_one_file
  • List 0
  • Changed 9
  • Source Changed 8
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
519 all_metrics_one_file Fix the "subtle" bug introduced in the previous commit So, again, I don't propose we actually do this, this is just illustrative of what we need to do, and didn't want it to get lost. The problem with the previous commit is that for each metric,... Pull #161 14 Oct 2019 11:48AM UTC web-flow travis-ci pending completion  
518 all_metrics_one_file Fix the "subtle" bug introduced in the previous commit So, again, I don't propose we actually do this, this is just illustrative of what we need to do, and didn't want it to get lost. The problem with the previous commit is that for each metric,... push 14 Oct 2019 11:39AM UTC dmagliola travis-ci pending completion  
See All Builds (639)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc