Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,14 @@
public class TimeUtils {
private static final Logger LOG = LogManager.getLogger(TimeUtils.class);

public static final String UTC_TIME_ZONE = "Europe/London"; // This is just a Country to represent UTC offset +00:00
public static final String DEFAULT_TIME_ZONE = "Asia/Shanghai";

private static final TimeZone TIME_ZONE;

// set CST to +08:00 instead of America/Chicago
public static final ImmutableMap<String, String> timeZoneAliasMap = ImmutableMap.of(
"CST", DEFAULT_TIME_ZONE, "PRC", DEFAULT_TIME_ZONE);
"CST", DEFAULT_TIME_ZONE, "PRC", DEFAULT_TIME_ZONE, "UTC", UTC_TIME_ZONE);

// NOTICE: Date formats are not synchronized.
// it must be used as synchronized externally.
Expand Down
32 changes: 29 additions & 3 deletions fe/fe-core/src/main/java/org/apache/doris/metric/MetricRepo.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
import org.apache.doris.load.EtlJobType;
import org.apache.doris.load.loadv2.JobState;
import org.apache.doris.load.loadv2.LoadManager;
import org.apache.doris.load.routineload.RoutineLoadJob;
import org.apache.doris.load.routineload.RoutineLoadManager;
import org.apache.doris.metric.Metric.MetricUnit;
import org.apache.doris.monitor.jvm.JvmService;
import org.apache.doris.monitor.jvm.JvmStats;
Expand All @@ -36,12 +38,14 @@

import com.codahale.metrics.Histogram;
import com.codahale.metrics.MetricRegistry;
import com.google.common.collect.Sets;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.SortedMap;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
Expand Down Expand Up @@ -117,19 +121,41 @@ public Long getValue() {
}
};
gauge.addLabel(new MetricLabel("job", "load"))
.addLabel(new MetricLabel("type", jobType.name()))
.addLabel(new MetricLabel("state", state.name()));
.addLabel(new MetricLabel("type", jobType.name()))
.addLabel(new MetricLabel("state", state.name()));
PALO_METRIC_REGISTER.addPaloMetrics(gauge);
}
}

// routine load jobs
RoutineLoadManager routineLoadManager = Catalog.getCurrentCatalog().getRoutineLoadManager();
for (RoutineLoadJob.JobState jobState : RoutineLoadJob.JobState.values()) {
GaugeMetric<Long> gauge = (GaugeMetric<Long>) new GaugeMetric<Long>("job",
MetricUnit.NOUNIT, "routine load job statistics") {
@Override
public Long getValue() {
if (!Catalog.getCurrentCatalog().isMaster()) {
return 0L;
}
Set<RoutineLoadJob.JobState> states = Sets.newHashSet();
states.add(jobState);
List<RoutineLoadJob> jobs = routineLoadManager.getRoutineLoadJobByState(states);
return Long.valueOf(jobs.size());
}
};
gauge.addLabel(new MetricLabel("job", "load"))
.addLabel(new MetricLabel("type", "ROUTINE_LOAD"))
.addLabel(new MetricLabel("state", jobState.name()));
PALO_METRIC_REGISTER.addPaloMetrics(gauge);
}

// running alter job
Alter alter = Catalog.getCurrentCatalog().getAlterInstance();
for (JobType jobType : JobType.values()) {
if (jobType != JobType.SCHEMA_CHANGE && jobType != JobType.ROLLUP) {
continue;
}

GaugeMetric<Long> gauge = (GaugeMetric<Long>) new GaugeMetric<Long>("job",
MetricUnit.NOUNIT, "job statistics") {
@Override
Expand Down