Skip to content
This repository was archived by the owner on May 8, 2026. It is now read-only.

Commit 0697ab9

Browse files
chore: more pacemaker into tracers (#2822)
* chore: more pacemaker into tracers Change-Id: I509051afa46164524fd3292564eee2d61a91c06a * oops, upate pacemaker visibility Change-Id: I326e1a485c559f3e9d108d373deac5ea73913f62
1 parent b923871 commit 0697ab9

3 files changed

Lines changed: 17 additions & 11 deletions

File tree

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/MetricRegistry.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ public class RecorderRegistry {
192192

193193
public final TableDebugTagCount.Recorder debugTagCount;
194194

195-
final PacemakerDelay.Recorder pacemakerDelay;
195+
public final PacemakerDelay.Recorder pacemakerDelay;
196196

197197
private RecorderRegistry(Meter meter) {
198198
operationLatency = operationLatencyMetric.newRecorder(meter);

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/MetricsImpl.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import com.google.cloud.bigtable.data.v2.internal.csm.tracers.BuiltinMetricsTracerFactory;
3232
import com.google.cloud.bigtable.data.v2.internal.csm.tracers.ChannelPoolMetricsTracer;
3333
import com.google.cloud.bigtable.data.v2.internal.csm.tracers.CompositeTracerFactory;
34+
import com.google.cloud.bigtable.data.v2.internal.csm.tracers.Pacemaker;
3435
import com.google.common.base.Preconditions;
3536
import com.google.common.collect.ImmutableList;
3637
import com.google.common.collect.ImmutableMap;
@@ -50,7 +51,6 @@
5051
import java.util.List;
5152
import java.util.concurrent.ScheduledExecutorService;
5253
import java.util.concurrent.ScheduledFuture;
53-
import java.util.concurrent.TimeUnit;
5454
import javax.annotation.Nullable;
5555

5656
public class MetricsImpl implements Metrics, Closeable {
@@ -134,12 +134,7 @@ public void start() {
134134
tasks.add(channelPoolMetricsTracer.start(executor));
135135
}
136136
if (pacemaker != null) {
137-
tasks.add(
138-
executor.scheduleAtFixedRate(
139-
pacemaker,
140-
Pacemaker.PACEMAKER_INTERVAL.toMillis(),
141-
Pacemaker.PACEMAKER_INTERVAL.toMillis(),
142-
TimeUnit.MILLISECONDS));
137+
tasks.add(pacemaker.start(executor));
143138
}
144139
}
145140

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/Pacemaker.java renamed to google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/tracers/Pacemaker.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,17 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.google.cloud.bigtable.data.v2.internal.csm;
16+
package com.google.cloud.bigtable.data.v2.internal.csm.tracers;
1717

1818
import com.google.cloud.bigtable.data.v2.internal.csm.MetricRegistry.RecorderRegistry;
1919
import com.google.cloud.bigtable.data.v2.internal.csm.attributes.ClientInfo;
2020
import java.time.Duration;
2121
import java.time.Instant;
22+
import java.util.concurrent.ScheduledExecutorService;
23+
import java.util.concurrent.ScheduledFuture;
24+
import java.util.concurrent.TimeUnit;
2225

23-
class Pacemaker implements Runnable {
26+
public class Pacemaker implements Runnable {
2427

2528
static final Duration PACEMAKER_INTERVAL = Duration.ofMillis(100);
2629

@@ -30,13 +33,21 @@ class Pacemaker implements Runnable {
3033

3134
private Instant prev;
3235

33-
Pacemaker(RecorderRegistry registry, ClientInfo clientInfo, String name) {
36+
public Pacemaker(RecorderRegistry registry, ClientInfo clientInfo, String name) {
3437
this.prev = Instant.now();
3538
this.registry = registry;
3639
this.clientInfo = clientInfo;
3740
this.executorName = name;
3841
}
3942

43+
public ScheduledFuture<?> start(ScheduledExecutorService executor) {
44+
return executor.scheduleAtFixedRate(
45+
this,
46+
Pacemaker.PACEMAKER_INTERVAL.toMillis(),
47+
Pacemaker.PACEMAKER_INTERVAL.toMillis(),
48+
TimeUnit.MILLISECONDS);
49+
}
50+
4051
@Override
4152
public void run() {
4253
Instant current = Instant.now();

0 commit comments

Comments
 (0)