package lombok.core.debug; import java.io.PrintStream; import java.util.GregorianCalendar; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicStampedReference; /* loaded from: com.discord-122106.apk:lombok/core/debug/HistogramTracker.SCL.lombok */ public class HistogramTracker { private static final long[] RANGES = {250001, 500001, 1000001, 2000001, 4000001, 8000001, 16000001, 32000001, 64000001, 128000001, 256000001, 512000001, 1024000001, 2048000001, 10000000001L}; private static final long REPORT_WINDOW = 60000; private final String category; private final AtomicStampedReference bars; private final AtomicBoolean addedSysHook; private final PrintStream out; /* renamed from: lombok.core.debug.HistogramTracker$1 reason: invalid class name */ /* loaded from: com.discord-122106.apk:lombok/core/debug/HistogramTracker$1.SCL.lombok */ class AnonymousClass1 extends Thread { AnonymousClass1(String str) { super(str); } @Override // java.lang.Thread, java.lang.Runnable public void run() { int[] iArr = new int[1]; HistogramTracker.access$1(HistogramTracker.this, iArr[0], (long[]) HistogramTracker.access$0(HistogramTracker.this).get(iArr)); } } public HistogramTracker(String str) { this.bars = new AtomicStampedReference<>(new long[RANGES.length + 2], 0); this.addedSysHook = new AtomicBoolean(false); this.category = str; this.out = null; printInit(); } public HistogramTracker(String str, PrintStream printStream) { this.bars = new AtomicStampedReference<>(new long[RANGES.length + 2], 0); this.addedSysHook = new AtomicBoolean(false); this.category = str; this.out = printStream; printInit(); } private void printInit() { if (this.category == null) { if (this.out == null) { ProblemReporter.info("Initialized histogram", null); } else { this.out.println("Initialized histogram"); } } else if (this.out == null) { ProblemReporter.info(String.format("Initialized histogram tracker for '%s'", this.category), null); } else { this.out.printf("Initialized histogram tracker for '%s'%n", this.category); } } public long start() { return System.nanoTime(); } public void end(long j) { long[] jArr; if (!this.addedSysHook.getAndSet(true)) { Runtime.getRuntime().addShutdownHook(new AnonymousClass1("Histogram Printer")); } long nanoTime = System.nanoTime(); long currentTimeMillis = System.currentTimeMillis(); long j2 = nanoTime - j; if (j2 < 0) { j2 = 0; } int i = (int) (currentTimeMillis / 60000); int[] iArr = new int[1]; long[] jArr2 = this.bars.get(iArr); if (iArr[0] != i) { printReport(iArr[0], jArr2); jArr = new long[RANGES.length + 2]; if (!this.bars.compareAndSet(jArr2, jArr, iArr[0], i)) { jArr = this.bars.get(iArr); } } else { jArr = jArr2; } int length = RANGES.length + 1; jArr[length] = jArr[length] + j2; for (int i2 = 0; i2 < RANGES.length; i2++) { if (j2 < RANGES[i2]) { jArr[i2] = jArr[i2] + 1; return; } } int length2 = RANGES.length; jArr[length2] = jArr[length2] + 1; } private void printReport(int i, long[] jArr) { StringBuilder sb = new StringBuilder(); if (this.category != null) { sb.append(this.category).append(" "); } sb.append("["); GregorianCalendar gregorianCalendar = new GregorianCalendar(); gregorianCalendar.setTimeInMillis(i * 60000); int i2 = gregorianCalendar.get(11); int i3 = gregorianCalendar.get(12); if (i2 < 10) { sb.append('0'); } sb.append(i2).append(":"); if (i3 < 10) { sb.append('0'); } sb.append(i3).append("] {"); long j = jArr[RANGES.length]; int i4 = 0; int length = sb.length(); for (int i5 = 0; i5 < RANGES.length; i5++) { j += jArr[i5]; sb.append(jArr[i5]); if (jArr[i5] != 0) { length = sb.length(); } sb.append(" "); i4++; if (i4 == 3) { sb.append("-- "); } if (i4 == 9) { sb.append("-- "); } } if (j != 0) { sb.setLength(length); double d = jArr[RANGES.length + 1] / 1000000.0d; if (jArr[RANGES.length] > 0) { sb.append(" -- ").append(jArr[RANGES.length]); } sb.append("} total calls: ").append(j).append(" total time (millis): ").append((int) (d + 0.5d)); if (this.out == null) { ProblemReporter.info(sb.toString(), null); } else { this.out.println(sb.toString()); } } } static /* synthetic */ AtomicStampedReference access$0(HistogramTracker histogramTracker) { return histogramTracker.bars; } static /* synthetic */ void access$1(HistogramTracker histogramTracker, int i, long[] jArr) { histogramTracker.printReport(i, jArr); } }