@@ -68,7 +68,7 @@ DataRelayer::DataRelayer(const CompletionPolicy& policy,
6868{
6969 setPipelineLength (DEFAULT_PIPELINE_LENGTH);
7070 for (size_t ci = 0 ; ci < mCache .size (); ci++) {
71- metrics.send ({ 0 , std::string ( " data_relayer/ " ) + std::to_string (ci) });
71+ metrics.send ({ 0 , sMetricsNames [ci] });
7272 }
7373}
7474
@@ -194,7 +194,7 @@ DataRelayer::relay(std::unique_ptr<FairMQMessage> &&header,
194194 for (size_t ai = slot.index * numInputTypes, ae = ai + numInputTypes; ai != ae; ++ai) {
195195 cache[ai].header .reset (nullptr );
196196 cache[ai].payload .reset (nullptr );
197- metrics.send ({ 0 , std::string ( " data_relayer/ " ) + std::to_string (ai) });
197+ metrics.send ({ 0 , sMetricsNames [ai] });
198198 }
199199 };
200200
@@ -213,7 +213,7 @@ DataRelayer::relay(std::unique_ptr<FairMQMessage> &&header,
213213 auto slot = index.bookTimeslice (timeslice);
214214 auto cacheIdx = numInputTypes * slot.index + input;
215215 PartRef& currentPart = cache[cacheIdx];
216- metrics.send ({ 1 , std::string ( " data_relayer/ " ) + std::to_string ( cacheIdx) });
216+ metrics.send ({ 1 , sMetricsNames [ cacheIdx] });
217217 PartRef ref{std::move (header), std::move (payload)};
218218 currentPart = std::move (ref);
219219 assert (header.get () == nullptr && payload.get () == nullptr );
@@ -344,7 +344,7 @@ std::vector<std::unique_ptr<FairMQMessage>>
344344 // automatically discarded by the relay method.
345345 auto moveHeaderPayloadToOutput = [&messages, &cache, &index, &numInputTypes, &metrics](TimesliceSlot s, size_t arg) {
346346 auto cacheId = s.index * numInputTypes + arg;
347- metrics.send ({ 2 , " data_relayer/ " + std::to_string ( cacheId) });
347+ metrics.send ({ 2 , sMetricsNames [ cacheId] });
348348 messages.emplace_back (std::move (cache[cacheId].header ));
349349 messages.emplace_back (std::move (cache[cacheId].payload ));
350350 index.markAsObsolete (s);
@@ -390,7 +390,13 @@ DataRelayer::setPipelineLength(size_t s) {
390390 mCache .resize (numInputTypes * mTimesliceIndex .size ());
391391 mMetrics .send ({ (int )numInputTypes, " data_relayer/h" });
392392 mMetrics .send ({ (int )mTimesliceIndex .size (), " data_relayer/w" });
393+ sMetricsNames .resize (mCache .size ());
394+ for (size_t i = 0 ; i < sMetricsNames .size (); ++i) {
395+ sMetricsNames [i] = std::string (" data_relayer/" ) + std::to_string (i);
396+ }
393397}
394398
399+ std::vector<std::string> DataRelayer::sMetricsNames ;
400+
395401}
396402}
0 commit comments