#2293 - Metric hash back to MD5 of sql + name + loc (minus location file and line source) ~= Revert of #2288

This commit is contained in:
rbygrave
2021-08-09 14:05:10 +12:00
parent c4484c758e
commit c610f95b2d
27 changed files with 172 additions and 201 deletions
@@ -14,7 +14,7 @@ public class BasicProfileLocationTest {
assertThat(loc.obtain()).isTrue();
assertThat(loc.fullLocation()).endsWith(":12)");
assertThat(loc.location()).isEqualTo("NativeMethodAccessorImpl.invoke0(Native Method:12)");
assertThat(loc.location()).isEqualTo("java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0");
assertThat(loc.label()).isEqualTo("NativeMethodAccessorImpl.invoke0");
}
@@ -24,7 +24,7 @@ public class BasicProfileLocationTest {
BasicProfileLocation loc = new BasicProfileLocation("com.foo.Bar.all");
assertThat(loc.obtain()).isFalse();
assertThat(loc.fullLocation()).isEqualTo("com.foo.Bar.all");
assertThat(loc.location()).isEqualTo("Bar.all");
assertThat(loc.location()).isEqualTo("com.foo.Bar.all");
assertThat(loc.label()).isEqualTo("Bar.all");
}
@@ -34,7 +34,7 @@ public class BasicProfileLocationTest {
BasicProfileLocation loc = new BasicProfileLocation("foo.Bar.all");
assertThat(loc.obtain()).isFalse();
assertThat(loc.fullLocation()).isEqualTo("foo.Bar.all");
assertThat(loc.location()).isEqualTo("Bar.all");
assertThat(loc.location()).isEqualTo("foo.Bar.all");
assertThat(loc.label()).isEqualTo("Bar.all");
}
}
@@ -9,13 +9,12 @@ public class UtilLocationTest {
@Test
public void label() {
assertThat(UtilLocation.label("foo")).isEqualTo("foo");
assertThat(UtilLocation.label("ProfileLocationTest$Other.<init>(ProfileLocationTest.java:47)")).isEqualTo("ProfileLocationTest$Other.init");
assertThat(UtilLocation.label("ProfileLocationTest$Other.<init>")).isEqualTo("ProfileLocationTest$Other.init");
}
@Test
public void hash() {
assertThat(UtilLocation.hash("org.foo.MyFoo.doIt(MyFoo.java:12)")).isEqualTo(396279222L);
assertThat(UtilLocation.hash("org.foo.MyFoo.doIt(MyFoo.java:13)")).isEqualTo(396279222L);
assertThat(UtilLocation.hash("org.foo.MyFoo.doIt(MyFoo.java:945)")).isEqualTo(396279222L);
public void loc() {
assertThat(UtilLocation.loc("org.foo.MyFoo.doIt(MyFoo.java:12)")).isEqualTo("org.foo.MyFoo.doIt");
assertThat(UtilLocation.label("org.foo.MyFoo.doIt")).isEqualTo("MyFoo.doIt");
}
}
@@ -0,0 +1,53 @@
package io.ebeaninternal.server.util;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
public class Md5Test {
@Test
public void hash() throws Exception {
String content = "some random content we wish to hash";
String hash1 = Md5.hash(content);
String hash2 = Md5.hash(content);
assertEquals(hash1, hash2);
assertEquals(hash1, "62c20bf679ff56cb746452ab5c88e3ed");
}
@Test
public void hashDifferent() throws Exception {
String hash1 = Md5.hash("one");
String hash2 = Md5.hash("two");
String hash3 = Md5.hash("onetwo");
assertNotEquals(hash1, hash2);
assertNotEquals(hash2, hash3);
assertEquals(hash1, "f97c5d29941bfb1b2fdab0874906ab82");
}
@Test
public void hashMulti() {
String hash1 = Md5.hash("one", "two");
String hash2 = Md5.hash("onetwo");
assertEquals(hash1, hash2);
assertEquals(hash1, "5b9164ad6f496d9dee12ec7634ce253f");
}
@Test
public void hashMulti_when_null() {
String hash1 = Md5.hash("one", null);
String hash2 = Md5.hash("one");
assertEquals(hash1, hash2);
assertEquals(hash1, "f97c5d29941bfb1b2fdab0874906ab82");
}
@Test
public void when_null() {
String hash1 = Md5.hash(null, null);
assertEquals(hash1, "d41d8cd98f00b204e9800998ecf8427e");
}
}
@@ -20,15 +20,13 @@ public class ProfileLocationTest {
public void test_obtain() {
assertThat(doIt()).isTrue();
assertThat(loc.fullLocation()).isEqualTo("org.tests.profile.ProfileLocationTest.doIt(ProfileLocationTest.java:16)");
assertThat(loc.location()).isEqualTo("ProfileLocationTest.doIt(ProfileLocationTest.java:16)");
assertThat(loc.location()).isEqualTo("org.tests.profile.ProfileLocationTest.doIt");
assertThat(loc.label()).isEqualTo("ProfileLocationTest.doIt");
assertThat(loc.hash()).isEqualTo(1867926812L);
// same hash even when the line number has changed
assertThat(locB.fullLocation()).isEqualTo("org.tests.profile.ProfileLocationTest.doIt(ProfileLocationTest.java:15)");
assertThat(locB.location()).isEqualTo("ProfileLocationTest.doIt(ProfileLocationTest.java:15)");
assertThat(locB.location()).isEqualTo("org.tests.profile.ProfileLocationTest.doIt");
assertThat(locB.label()).isEqualTo("ProfileLocationTest.doIt");
assertThat(locB.hash()).isEqualTo(1867926812L);
}
@Test
@@ -43,7 +41,7 @@ public class ProfileLocationTest {
other.hashCode();
assertThat(loc2.label()).isEqualTo("ProfileLocationTest$Other.init");
assertThat(loc2.location()).isEqualTo("ProfileLocationTest$Other.<init>(ProfileLocationTest.java:52)");
assertThat(loc2.location()).isEqualTo("org.tests.profile.ProfileLocationTest$Other.<init>");
}
static class Other {
@@ -242,10 +242,9 @@ public class TestCustomerFinder extends BaseTestCase {
assertThat(metricsJson).contains("\"name\":\"txn.main\"");
assertThat(metricsJson).contains("\"name\":\"orm.Customer.findList\"");
assertThat(metricsJson).contains("\"locHash\":3254522637");
assertThat(metricsJson).contains("\"loc\":\"CustomerFinder.byNameStatus(CustomerFinder.java:43)\"");
assertThat(metricsJson).contains("\"loc\":\"org.tests.model.basic.finder.CustomerFinder.byNameStatus\"");
if (isH2() || isPostgres()) {
assertThat(metricsJson).contains("\"sqlHash\":3634991469");
assertThat(metricsJson).contains("\"hash\":\"de3affa5b4bff07e19c1c012590dcde6\"");
assertThat(metricsJson).contains("\"sql\":\"select t0.id, t0.status,");
}
}