]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: remove move's, rename put/get counters, revert exporter changes 53003/head
authorAli Maredia <amaredia@redhat.com>
Thu, 19 Oct 2023 20:44:52 +0000 (20:44 +0000)
committerAli Maredia <amaredia@redhat.com>
Fri, 20 Oct 2023 19:10:50 +0000 (15:10 -0400)
Signed-off-by: Ali Maredia <amaredia@redhat.com>
doc/radosgw/metrics.rst
src/exporter/DaemonMetricCollector.cc
src/rgw/rgw_file.cc
src/rgw/rgw_op.cc
src/rgw/rgw_perf_counters.cc
src/rgw/rgw_perf_counters.h

index 75ef782fa6aa9394ee366265f321127a6e9e1ffe..dd5c56c1752aba5fc3783f4513d1266ba2083dcb 100644 (file)
@@ -20,22 +20,22 @@ The following metrics related to S3 or Swift operations are tracked per Ceph Obj
    * - Name
      - Type
      - Description
-   * - put_ops
+   * - put_obj_ops
      - Counter
      - Number of put operations
-   * - put_b
+   * - put_obj_bytes
      - Counter
      - Number of bytes put
-   * - put_initial_lat
+   * - put_obj_lat
      - Guage
      - Total latency of put operations
-   * - get_ops
+   * - get_obj_ops
      - Counter
      - Number of get operations
-   * - get_b
+   * - get_obj_bytes
      - Counter
      - Number of bytes from get requests
-   * - get_initial_lat
+   * - get_obj_lat
      - Guage
      - Total latency of get operations
    * - del_obj_ops
@@ -82,16 +82,16 @@ To view op metrics in the Ceph Object Gateway go to the ``rgw_op`` section of th
         {
             "labels": {},
             "counters": {
-                "put_ops": 2,
-                "put_b": 5327,
-                "put_initial_lat": {
+                "put_obj_ops": 2,
+                "put_obj_bytes": 5327,
+                "put_obj_lat": {
                     "avgcount": 2,
                     "sum": 2.818064835,
                     "avgtime": 1.409032417
                 },
-                "get_ops": 5,
-                "get_b": 5325,
-                "get_initial_lat": {
+                "get_obj_ops": 5,
+                "get_obj_bytes": 5325,
+                "get_obj_lat": {
                     "avgcount": 2,
                     "sum": 0.003000069,
                     "avgtime": 0.001500034
@@ -108,7 +108,7 @@ To view op metrics in the Ceph Object Gateway go to the ``rgw_op`` section of th
     ]
 
 Op Metrics Labels
---------------------
+-----------------
 
 Op metrics can also be tracked per-user or per-bucket. These metrics are exported to Prometheus with labels like Bucket = {name} or User = {userid}::
 
@@ -119,16 +119,16 @@ Op metrics can also be tracked per-user or per-bucket. These metrics are exporte
                 "Bucket": "bucket1"
             },
             "counters": {
-                "put_ops": 2,
-                "put_b": 5327,
-                "put_initial_lat": {
+                "put_obj_ops": 2,
+                "put_obj_bytes": 5327,
+                "put_obj_lat": {
                     "avgcount": 2,
                     "sum": 2.818064835,
                     "avgtime": 1.409032417
                 },
-                "get_ops": 5,
-                "get_b": 5325,
-                "get_initial_lat": {
+                "get_obj_ops": 5,
+                "get_obj_bytes": 5325,
+                "get_obj_lat": {
                     "avgcount": 2,
                     "sum": 0.003000069,
                     "avgtime": 0.001500034
index 23a0dd550f1c90d1635f7e7f32125ed509e48cbe..ebe85c3041e5aa76aef799858b2c4d3dc39b5191 100644 (file)
@@ -160,11 +160,8 @@ void DaemonMetricCollector::dump_asok_metrics() {
             labels.insert(multisite_labels_and_name.first.begin(), multisite_labels_and_name.first.end());
             counter_name = multisite_labels_and_name.second;
           }
-          auto counters_values_itr = counters_values.find(counter_name_init);
-          if (counters_values_itr != counters_values.end()) {
-            auto perf_values = counters_values_itr->value();
-            dump_asok_metric(counter_group, perf_values, counter_name, labels);
-          }
+          auto perf_values = counters_values.at(counter_name_init);
+          dump_asok_metric(counter_group, perf_values, counter_name, labels);
         }
       }
     }
index ca149ad836b894e5c885002f634af7045b6dde76..045c18cafe2a0aae66d386374caa5a8933844a2d 100644 (file)
@@ -1839,7 +1839,7 @@ namespace rgw {
     ceph_assert(! slo_info);
 
     counters = rgw::op_counters::get(state);
-    rgw::op_counters::inc(counters, l_rgw_op_put, 1);
+    rgw::op_counters::inc(counters, l_rgw_op_put_obj, 1);
     op_ret = -EINVAL;
 
     if (state->object->empty()) {
@@ -1945,7 +1945,7 @@ namespace rgw {
     real_time appx_t = real_clock::now();
 
     state->obj_size = bytes_written;
-    rgw::op_counters::inc(counters, l_rgw_op_put_b, state->obj_size);
+    rgw::op_counters::inc(counters, l_rgw_op_put_obj_b, state->obj_size);
 
     // flush data in filters
     op_ret = filter->process({}, state->obj_size);
@@ -2028,7 +2028,7 @@ namespace rgw {
     }
 
   done:
-    rgw::op_counters::tinc(counters, l_rgw_op_put_lat, state->time_elapsed());
+    rgw::op_counters::tinc(counters, l_rgw_op_put_obj_lat, state->time_elapsed());
     return op_ret;
   } /* exec_finish */
 
index 29a1f36c0273dfcaf66e2010e43a599a3aa31e9b..5e0fd42f7da0b9e045061b214972710af12ad6c4 100644 (file)
@@ -1693,7 +1693,7 @@ int RGWGetObj::read_user_manifest_part(rgw::sal::Bucket* bucket,
   }
 
   auto counters = rgw::op_counters::get(s);
-  rgw::op_counters::inc(counters, l_rgw_op_get_b, cur_end - cur_ofs);
+  rgw::op_counters::inc(counters, l_rgw_op_get_obj_b, cur_end - cur_ofs);
   filter->fixup_range(cur_ofs, cur_end);
   op_ret = read_op->iterate(this, cur_ofs, cur_end, filter, s->yield);
   if (op_ret >= 0)
@@ -1767,7 +1767,7 @@ static int iterate_user_manifest_parts(const DoutPrefixProvider *dpp,
       }
 
       rgw::op_counters::CountersContainer counters;
-      rgw::op_counters::tinc(counters, l_rgw_op_get_lat, 
+      rgw::op_counters::tinc(counters, l_rgw_op_get_obj_lat,
                             (ceph_clock_now() - start_time));
 
       if (found_start && !handled_end) {
@@ -1864,7 +1864,7 @@ static int iterate_slo_parts(const DoutPrefixProvider *dpp,
     }
 
     rgw::op_counters::CountersContainer counters;
-    rgw::op_counters::tinc(counters, l_rgw_op_get_lat, 
+    rgw::op_counters::tinc(counters, l_rgw_op_get_obj_lat,
                           (ceph_clock_now() - start_time));
 
     if (found_start) {
@@ -2213,7 +2213,7 @@ void RGWGetObj::execute(optional_yield y)
   map<string, bufferlist>::iterator attr_iter;
 
   auto counters = rgw::op_counters::get(s);
-  rgw::op_counters::inc(counters, l_rgw_op_get, 1);
+  rgw::op_counters::inc(counters, l_rgw_op_get_obj, 1);
 
   std::unique_ptr<rgw::sal::Object::ReadOp> read_op(s->object->get_read_op());
 
@@ -2411,14 +2411,14 @@ void RGWGetObj::execute(optional_yield y)
     return;
   }
 
-  rgw::op_counters::inc(counters, l_rgw_op_get_b, end-ofs);
+  rgw::op_counters::inc(counters, l_rgw_op_get_obj_b, end-ofs);
 
   op_ret = read_op->iterate(this, ofs_x, end_x, filter, s->yield);
 
   if (op_ret >= 0)
     op_ret = filter->flush();
 
-  rgw::op_counters::tinc(counters, l_rgw_op_get_lat, s->time_elapsed());
+  rgw::op_counters::tinc(counters, l_rgw_op_get_obj_lat, s->time_elapsed());
 
   if (op_ret < 0) {
     goto done_err;
@@ -4030,11 +4030,11 @@ void RGWPutObj::execute(optional_yield y)
   auto counters = rgw::op_counters::get(s);
 
   bool need_calc_md5 = (dlo_manifest == NULL) && (slo_info == NULL);
-  rgw::op_counters::inc(counters, l_rgw_op_put, 1);
+  rgw::op_counters::inc(counters, l_rgw_op_put_obj, 1);
 
   // report latency on return
   auto put_lat = make_scope_guard([&] {
-      rgw::op_counters::tinc(counters, l_rgw_op_put_lat, s->time_elapsed());
+      rgw::op_counters::tinc(counters, l_rgw_op_put_obj_lat, s->time_elapsed());
     });
 
   op_ret = -EINVAL;
@@ -4309,7 +4309,7 @@ void RGWPutObj::execute(optional_yield y)
   s->obj_size = ofs;
   s->object->set_obj_size(ofs);
 
-  rgw::op_counters::inc(counters, l_rgw_op_put_b, s->obj_size);
+  rgw::op_counters::inc(counters, l_rgw_op_put_obj_b, s->obj_size);
 
   op_ret = do_aws4_auth_completion();
   if (op_ret < 0) {
index f2d245c27d2ede125ea500c8491707c5e96aadff..c3e89211cca6c4798978e0c4b199ba97c75935e8 100644 (file)
@@ -64,13 +64,13 @@ void add_rgw_op_counters(PerfCountersBuilder *lpcb) {
   // description must match general rgw counters description above
   lpcb->set_prio_default(PerfCountersBuilder::PRIO_USEFUL);
 
-  lpcb->add_u64_counter(l_rgw_op_put, "put_ops", "Puts");
-  lpcb->add_u64_counter(l_rgw_op_put_b, "put_b", "Size of puts");
-  lpcb->add_time_avg(l_rgw_op_put_lat, "put_initial_lat", "Put latency");
+  lpcb->add_u64_counter(l_rgw_op_put_obj, "put_obj_ops", "Puts");
+  lpcb->add_u64_counter(l_rgw_op_put_obj_b, "put_obj_bytes", "Size of puts");
+  lpcb->add_time_avg(l_rgw_op_put_obj_lat, "put_obj_lat", "Put latency");
 
-  lpcb->add_u64_counter(l_rgw_op_get, "get_ops", "Gets");
-  lpcb->add_u64_counter(l_rgw_op_get_b, "get_b", "Size of gets");
-  lpcb->add_time_avg(l_rgw_op_get_lat, "get_initial_lat", "Get latency");
+  lpcb->add_u64_counter(l_rgw_op_get_obj, "get_obj_ops", "Gets");
+  lpcb->add_u64_counter(l_rgw_op_get_obj_b, "get_obj_bytes", "Size of gets");
+  lpcb->add_time_avg(l_rgw_op_get_obj_lat, "get_obj_lat", "Get latency");
 
   lpcb->add_u64_counter(l_rgw_op_del_obj, "del_obj_ops", "Delete objects");
   lpcb->add_u64_counter(l_rgw_op_del_obj_b, "del_obj_bytes", "Size of delete objects");
@@ -129,18 +129,18 @@ CountersContainer get(req_state *s) {
 
   if (user_counters_cache && !s->user->get_id().id.empty()) {
     if (s->user->get_tenant().empty()) {
-      key = std::move(ceph::perf_counters::key_create(rgw_op_counters_key, {{"User", s->user->get_id().id}}));
+      key = ceph::perf_counters::key_create(rgw_op_counters_key, {{"User", s->user->get_id().id}});
     } else {
-      key = std::move(ceph::perf_counters::key_create(rgw_op_counters_key, {{"User", s->user->get_id().id}, {"Tenant", s->user->get_tenant()}}));
+      key = ceph::perf_counters::key_create(rgw_op_counters_key, {{"User", s->user->get_id().id}, {"Tenant", s->user->get_tenant()}});
     }
     counters.user_counters = user_counters_cache->get(key);
   }
 
   if (bucket_counters_cache && !s->bucket_name.empty()) {
     if (s->bucket_tenant.empty()) {
-      key = std::move(ceph::perf_counters::key_create(rgw_op_counters_key, {{"Bucket", s->bucket_name}}));
+      key = ceph::perf_counters::key_create(rgw_op_counters_key, {{"Bucket", s->bucket_name}});
     } else {
-      key = std::move(ceph::perf_counters::key_create(rgw_op_counters_key, {{"Bucket", s->bucket_name}, {"Tenant", s->bucket_tenant}}));
+      key = ceph::perf_counters::key_create(rgw_op_counters_key, {{"Bucket", s->bucket_name}, {"Tenant", s->bucket_tenant}});
     }
     counters.bucket_counters = bucket_counters_cache->get(key);
   }
index e9068f4c9ff21392b38393e2f475b94deb3cf3d9..5abd7e44b13d4e08c44a37a9ac0aadfb02f92ac3 100644 (file)
@@ -55,13 +55,13 @@ enum {
 enum {
   l_rgw_op_first = 16000,
 
-  l_rgw_op_put,
-  l_rgw_op_put_b,
-  l_rgw_op_put_lat,
+  l_rgw_op_put_obj,
+  l_rgw_op_put_obj_b,
+  l_rgw_op_put_obj_lat,
 
-  l_rgw_op_get,
-  l_rgw_op_get_b,
-  l_rgw_op_get_lat,
+  l_rgw_op_get_obj,
+  l_rgw_op_get_obj_b,
+  l_rgw_op_get_obj_lat,
 
   l_rgw_op_del_obj,
   l_rgw_op_del_obj_b,