mirror of
https://github.com/enso-org/enso.git
synced 2024-11-22 22:10:15 +03:00
Log histograms with -Dorg.enso.persist.Logger.level=debug (#8881)
Fixes #8644 by using `slf4j` instead of `java.util.logging`.
This commit is contained in:
parent
ad7fad42fa
commit
946f931d21
@ -1105,6 +1105,7 @@ lazy val `persistance` = (project in file("lib/java/persistance"))
|
|||||||
frgaalJavaCompilerSetting,
|
frgaalJavaCompilerSetting,
|
||||||
Compile / javacOptions := ((Compile / javacOptions).value),
|
Compile / javacOptions := ((Compile / javacOptions).value),
|
||||||
libraryDependencies ++= Seq(
|
libraryDependencies ++= Seq(
|
||||||
|
"org.slf4j" % "slf4j-api" % slf4jVersion,
|
||||||
"org.netbeans.api" % "org-openide-util-lookup" % netbeansApiVersion,
|
"org.netbeans.api" % "org-openide-util-lookup" % netbeansApiVersion,
|
||||||
"junit" % "junit" % junitVersion % Test,
|
"junit" % "junit" % junitVersion % Test,
|
||||||
"com.github.sbt" % "junit-interface" % junitIfVersion % Test
|
"com.github.sbt" % "junit-interface" % junitIfVersion % Test
|
||||||
|
@ -9,8 +9,7 @@ import java.util.HashMap;
|
|||||||
import java.util.IdentityHashMap;
|
import java.util.IdentityHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.logging.Level;
|
import org.slf4j.Logger;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
final class PerGenerator {
|
final class PerGenerator {
|
||||||
static final byte[] HEADER = new byte[] {0x0a, 0x0d, 0x03, 0x0f};
|
static final byte[] HEADER = new byte[] {0x0a, 0x0d, 0x03, 0x0f};
|
||||||
@ -31,7 +30,7 @@ final class PerGenerator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static byte[] writeObject(Object obj, Function<Object, Object> writeReplace) throws IOException {
|
static byte[] writeObject(Object obj, Function<Object, Object> writeReplace) throws IOException {
|
||||||
var histogram = PerUtils.LOG.isLoggable(Level.FINE) ? new Histogram() : null;
|
var histogram = PerUtils.LOG.isDebugEnabled() ? new Histogram() : null;
|
||||||
|
|
||||||
var out = new ByteArrayOutputStream();
|
var out = new ByteArrayOutputStream();
|
||||||
var data = new DataOutputStream(out);
|
var data = new DataOutputStream(out);
|
||||||
@ -140,16 +139,14 @@ final class PerGenerator {
|
|||||||
return a.getValue()[0] - b.getValue()[0];
|
return a.getValue()[0] - b.getValue()[0];
|
||||||
});
|
});
|
||||||
|
|
||||||
log.fine("==== Top Bytes & Counts of Classes =====");
|
log.debug("==== Top Bytes & Counts of Classes =====");
|
||||||
for (var i = 0; i < list.size(); i++) {
|
for (var i = 0; i < list.size(); i++) {
|
||||||
if (i == 30) {
|
if (i == 30) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
var elem = list.get(list.size() - 1 - i);
|
var elem = list.get(list.size() - 1 - i);
|
||||||
log.log(
|
log.debug(
|
||||||
Level.FINE,
|
" " + elem.getValue()[0] + " " + elem.getValue()[1] + " " + elem.getKey().getName());
|
||||||
" {0} {1} {2}",
|
|
||||||
new Object[] {elem.getValue()[0], elem.getValue()[1], elem.getKey().getName()});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,7 +9,6 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.logging.Level;
|
|
||||||
import org.enso.persist.Persistance.Input;
|
import org.enso.persist.Persistance.Input;
|
||||||
import org.enso.persist.Persistance.Reference;
|
import org.enso.persist.Persistance.Reference;
|
||||||
|
|
||||||
@ -213,7 +212,7 @@ final class PerInputImpl implements Input {
|
|||||||
sb.append("\nare they equal: ").append(bothObjectsAreTheSame);
|
sb.append("\nare they equal: ").append(bothObjectsAreTheSame);
|
||||||
var ex = new IOException(sb.toString());
|
var ex = new IOException(sb.toString());
|
||||||
if (bothObjectsAreTheSame) {
|
if (bothObjectsAreTheSame) {
|
||||||
PerUtils.LOG.log(Level.WARNING, sb.toString(), ex);
|
PerUtils.LOG.warn(sb.toString(), ex);
|
||||||
} else {
|
} else {
|
||||||
throw raise(RuntimeException.class, ex);
|
throw raise(RuntimeException.class, ex);
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
package org.enso.persist;
|
package org.enso.persist;
|
||||||
|
|
||||||
import java.util.logging.Logger;
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
final class PerUtils {
|
final class PerUtils {
|
||||||
private PerUtils() {}
|
private PerUtils() {}
|
||||||
|
|
||||||
static final Logger LOG = Logger.getLogger(Persistance.class.getPackageName());
|
static final Logger LOG = LoggerFactory.getLogger(Persistance.class.getPackageName());
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
static <E extends Throwable> E raise(Class<E> clazz, Throwable t) throws E {
|
static <E extends Throwable> E raise(Class<E> clazz, Throwable t) throws E {
|
||||||
|
Loading…
Reference in New Issue
Block a user