File: benchmark_helpers.cc

package info (click to toggle)
prometheus-cpp 1.0.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 792 kB
  • sloc: cpp: 3,596; sh: 37; makefile: 12
file content (26 lines) | stat: -rw-r--r-- 809 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "benchmark_helpers.h"

#include <algorithm>
#include <cstdlib>
#include <map>

std::string GenerateRandomString(std::size_t length) {
  auto randchar = []() -> char {
    const char charset[] = "abcdefghijklmnopqrstuvwxyz";
    const std::size_t max_index = (sizeof(charset) - 1);
    return charset[rand() % max_index];
  };
  std::string str(length, 0);
  std::generate_n(str.begin(), length, randchar);
  return str;
}

prometheus::Labels GenerateRandomLabels(std::size_t number_of_pairs) {
  const auto label_character_count = 10;
  auto label_pairs = prometheus::Labels{};
  for (std::size_t i = 0; i < number_of_pairs; i++) {
    label_pairs.insert({GenerateRandomString(label_character_count),
                        GenerateRandomString(label_character_count)});
  }
  return label_pairs;
}