apache / apache/rocketmq-connect
support connector-developer-defined statsitem by adding add interfaces in ConnectStatsManager
- Dominant language
- Java
- Stars
- 141
- Forks
- 120
- PR merge metrics
- No merged PRs in 30d
Description
adding initAdditionalItems(List additionalItems);incAdditionalItem(String additionalItem, String key, int incValue, int incTimes);removeAdditionalItem(String additionalItem, String key) three methods in ConnectorStatsManager to support connector developers record user-defined metrics.
StatsItemSet support delValue in version 4.7.1, so upgrade rocketmq.version to 4.7.1
ConnectStatsManager.java
```java
public void initAdditionalItems(List additionalItems) {
for (String additionalItem : additionalItems) {
if (this.statsTable.containsKey(additionalItem)) {
log.warn("Already exists statsItem : " + additionalItem + ", just skip");
continue;
}
this.statsTable.put(additionalItem, new StatsItemSet(additionalItem, scheduledExecutorService, log));
}
}
public void incAdditionalItem(String additionalItem, String key, int incValue, int incTimes) {
StatsItemSet statsItemSet = this.statsTable.get(additionalItem);
if (statsItemSet != null) {
statsItemSet.addValue(key, incValue, incTimes);
}
}
public void removeAdditionalItem(String additionalItem, String key) {
StatsItemSet statsItemSet = this.statsTable.get(additionalItem);
if (statsItemSet != null) {
statsItemSet.delValue(key);
}
}
```
Contributor guide
Research direction
Start with ConnectStatsManager.java and inspect how its existing StatsItemSet entries are initialized and updated. Check the StatsItemSet API available after upgrading rocketmq.version to 4.7.1, then verify that the three additional-item interfaces support initialization, increments, and removal as described.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- observability
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100