Skip to content

Commit 81614b9

Browse files
committed
Fix remaining unit tests
1 parent 93b0cd7 commit 81614b9

File tree

5 files changed

+32
-21
lines changed

5 files changed

+32
-21
lines changed

x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/action/GetFlameGraphActionIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ public void testGetStackTracesUnfiltered() throws Exception {
2727
);
2828
GetFlamegraphResponse response = client().execute(GetFlamegraphAction.INSTANCE, request).get();
2929
// only spot-check top level properties - detailed tests are done in unit tests
30-
assertEquals(994, response.getSize());
30+
assertEquals(1010, response.getSize());
3131
assertEquals(1.0d, response.getSamplingRate(), 0.001d);
3232
assertEquals(46, response.getSelfCPU());
33-
assertEquals(1903, response.getTotalCPU());
33+
assertEquals(1995, response.getTotalCPU());
3434
assertEquals(46, response.getTotalSamples());
3535

3636
// The root node's values are the same as the top-level values.

x-pack/plugin/profiling/src/internalClusterTest/java/org/elasticsearch/xpack/profiling/action/GetStackTracesActionIT.java

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@
77

88
package org.elasticsearch.xpack.profiling.action;
99

10+
import org.apache.logging.log4j.LogManager;
11+
import org.apache.logging.log4j.Logger;
1012
import org.elasticsearch.index.query.BoolQueryBuilder;
1113
import org.elasticsearch.index.query.QueryBuilders;
1214
import org.elasticsearch.index.query.TermQueryBuilder;
1315

1416
import java.util.List;
17+
import java.util.Map;
1518

1619
public class GetStackTracesActionIT extends ProfilingTestCase {
1720
public void testGetStackTracesUnfiltered() throws Exception {
@@ -37,7 +40,11 @@ public void testGetStackTracesUnfiltered() throws Exception {
3740
assertEquals(1821, response.getTotalFrames());
3841

3942
assertNotNull(response.getStackTraceEvents());
40-
assertEquals(3L, response.getStackTraceEvents().get("L7kj7UvlKbT-vN73el4faQ").count);
43+
44+
Map<TraceEventID, TraceEvent> traceEvents = response.getStackTraceEvents();
45+
46+
TraceEventID traceEventID = new TraceEventID("", "497295213074376", "8457605156473051743", "L7kj7UvlKbT-vN73el4faQ");
47+
assertEquals(3L, response.getStackTraceEvents().get(traceEventID).count);
4148

4249
assertNotNull(response.getStackTraces());
4350
// just do a high-level spot check. Decoding is tested in unit-tests
@@ -46,8 +53,6 @@ public void testGetStackTracesUnfiltered() throws Exception {
4653
assertEquals(18, stackTrace.fileIds.length);
4754
assertEquals(18, stackTrace.frameIds.length);
4855
assertEquals(18, stackTrace.typeIds.length);
49-
assertEquals(0.0000051026469d, stackTrace.annualCO2Tons, 0.0000000001d);
50-
assertEquals(0.19825d, stackTrace.annualCostsUSD, 0.00001d);
5156
// not determined by default
5257
assertNull(stackTrace.subGroups);
5358

@@ -82,7 +87,10 @@ public void testGetStackTracesGroupedByServiceName() throws Exception {
8287
assertEquals(1821, response.getTotalFrames());
8388

8489
assertNotNull(response.getStackTraceEvents());
85-
assertEquals(3L, response.getStackTraceEvents().get("L7kj7UvlKbT-vN73el4faQ").count);
90+
91+
TraceEventID traceEventID = new TraceEventID("", "497295213074376", "8457605156473051743", "L7kj7UvlKbT-vN73el4faQ");
92+
assertEquals(3L, response.getStackTraceEvents().get(traceEventID).count);
93+
assertEquals(Long.valueOf(2L), response.getStackTraceEvents().get(traceEventID).subGroups.getCount("basket"));
8694

8795
assertNotNull(response.getStackTraces());
8896
// just do a high-level spot check. Decoding is tested in unit-tests
@@ -91,9 +99,6 @@ public void testGetStackTracesGroupedByServiceName() throws Exception {
9199
assertEquals(18, stackTrace.fileIds.length);
92100
assertEquals(18, stackTrace.frameIds.length);
93101
assertEquals(18, stackTrace.typeIds.length);
94-
assertEquals(0.0000051026469d, stackTrace.annualCO2Tons, 0.0000000001d);
95-
assertEquals(0.19825d, stackTrace.annualCostsUSD, 0.00001d);
96-
assertEquals(Long.valueOf(2L), stackTrace.subGroups.getCount("basket"));
97102

98103
assertNotNull(response.getStackFrames());
99104
StackFrame stackFrame = response.getStackFrames().get("8NlMClggx8jaziUTJXlmWAAAAAAAAIYI");
@@ -130,8 +135,13 @@ public void testGetStackTracesFromAPMWithMatchNoDownsampling() throws Exception
130135
assertEquals(1.0d, response.getSamplingRate(), 0.001d);
131136

132137
assertNotNull(response.getStackTraceEvents());
133-
assertEquals(3L, response.getStackTraceEvents().get("Ce77w10WeIDow3kd1jowlA").count);
134-
assertEquals(2L, response.getStackTraceEvents().get("JvISdnJ47BQ01489cwF9DA").count);
138+
139+
TraceEventID traceEventID = new TraceEventID("", "", "", "Ce77w10WeIDow3kd1jowlA");
140+
assertEquals(3L, response.getStackTraceEvents().get(traceEventID).count);
141+
assertEquals(Long.valueOf(3L), response.getStackTraceEvents().get(traceEventID).subGroups.getCount("encodeSha1"));
142+
143+
traceEventID = new TraceEventID("", "", "", "JvISdnJ47BQ01489cwF9DA");
144+
assertEquals(2L, response.getStackTraceEvents().get(traceEventID).count);
135145

136146
assertNotNull(response.getStackTraces());
137147
// just do a high-level spot check. Decoding is tested in unit-tests
@@ -140,9 +150,6 @@ public void testGetStackTracesFromAPMWithMatchNoDownsampling() throws Exception
140150
assertEquals(39, stackTrace.fileIds.length);
141151
assertEquals(39, stackTrace.frameIds.length);
142152
assertEquals(39, stackTrace.typeIds.length);
143-
assertTrue(stackTrace.annualCO2Tons > 0.0d);
144-
assertTrue(stackTrace.annualCostsUSD > 0.0d);
145-
assertEquals(Long.valueOf(3L), stackTrace.subGroups.getCount("encodeSha1"));
146153

147154
assertNotNull(response.getStackFrames());
148155
StackFrame stackFrame = response.getStackFrames().get("fhsEKXDuxJ-jIJrZpdRuSAAAAAAAAFtj");
@@ -179,9 +186,13 @@ public void testGetStackTracesFromAPMWithMatchAndDownsampling() throws Exception
179186
assertEquals(0.2d, response.getSamplingRate(), 0.001d);
180187

181188
assertNotNull(response.getStackTraceEvents());
189+
182190
// as the sampling rate is 0.2, we see 5 times more samples (random sampler agg automatically adjusts sample count)
183-
assertEquals(5 * 3L, response.getStackTraceEvents().get("Ce77w10WeIDow3kd1jowlA").count);
184-
assertEquals(5 * 2L, response.getStackTraceEvents().get("JvISdnJ47BQ01489cwF9DA").count);
191+
TraceEventID traceEventID = new TraceEventID("", "", "", "Ce77w10WeIDow3kd1jowlA");
192+
assertEquals(5 * 3L, response.getStackTraceEvents().get(traceEventID).count);
193+
194+
traceEventID = new TraceEventID("", "", "", "JvISdnJ47BQ01489cwF9DA");
195+
assertEquals(5 * 2L, response.getStackTraceEvents().get(traceEventID).count);
185196

186197
assertNotNull(response.getStackTraces());
187198
// just do a high-level spot check. Decoding is tested in unit-tests
@@ -190,8 +201,6 @@ public void testGetStackTracesFromAPMWithMatchAndDownsampling() throws Exception
190201
assertEquals(39, stackTrace.fileIds.length);
191202
assertEquals(39, stackTrace.frameIds.length);
192203
assertEquals(39, stackTrace.typeIds.length);
193-
assertTrue(stackTrace.annualCO2Tons > 0.0d);
194-
assertTrue(stackTrace.annualCostsUSD > 0.0d);
195204
// not determined by default
196205
assertNull(stackTrace.subGroups);
197206

x-pack/plugin/profiling/src/main/java/org/elasticsearch/xpack/profiling/action/TraceEvent.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ final class TraceEvent {
2424
@Override
2525
public String toString() {
2626
return "TraceEvent{"
27-
+ ", count="
27+
+ "count="
2828
+ count
2929
+ ", annualCO2Tons="
3030
+ annualCO2Tons

x-pack/plugin/profiling/src/main/java/org/elasticsearch/xpack/profiling/action/TransportGetStackTracesAction.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,8 @@ private void searchEventGroupedByStackTrace(
356356
// 'size' specifies the max number of host ID we support per request.
357357
.size(MAX_TRACE_EVENTS_RESULT_SIZE)
358358
.field("process.executable.name")
359+
// missing("") is used to include documents where the field is missing.
360+
.missing("")
359361
// 'execution_hint: map' skips the slow building of ordinals that we don't need.
360362
// Especially with high cardinality fields, this makes aggregations really slow.
361363
.executionHint("map")

x-pack/plugin/profiling/src/main/java/org/elasticsearch/xpack/profiling/action/TransportGetTopNFunctionsAction.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,8 @@ static GetTopNFunctionsResponse buildTopNFunctions(GetStackTracesResponse respon
108108
);
109109
}
110110
TopNFunction current = builder.getTopNFunction(frameGroupId);
111-
if (stackTrace.subGroups != null) {
112-
current.addSubGroups(stackTrace.subGroups);
111+
if (event.subGroups != null) {
112+
current.addSubGroups(event.subGroups);
113113
}
114114
if (frameGroupsPerStackTrace.contains(frameGroupId) == false) {
115115
frameGroupsPerStackTrace.add(frameGroupId);

0 commit comments

Comments
 (0)