public void start(MetricsCollector so11yCollector) {
        this.so11yCollector = so11yCollector;
        lock = new ReentrantLock();
        listeners = new ArrayList<>();
        breakCounters = new HashMap<>();
        recoverCounters = new HashMap<>();
        for (WatermarkEvent.Type type : WatermarkEvent.Type.values()) {
            breakCounters.put(type, new HashMap<>());
        }
        metricsCreator = moduleManager.find(TelemetryModule.NAME)
                                                          .provider()
                                                          .getService(MetricsCreator.class);
        this.addListener(WatermarkGRPCInterceptor.INSTANCE);

        Executors.newSingleThreadScheduledExecutor()
                 .scheduleWithFixedDelay(this::watch, 0, 10, TimeUnit.SECONDS);
    }
Heap memory used, jvm_memory_used_bytes{area="heap"}, Use the combination of all available ids of heap memory.
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/watermark/WatermarkWatcher.java