Skip to content

Commit 40563f6

Browse files
ctf: Make ctf2 trace have environment
Change-Id: If58b118283f9a5e3778e832edd94e358c23cded8 Signed-off-by: Matthew Khouzam <[email protected]>
1 parent 65aa265 commit 40563f6

File tree

1 file changed

+13
-0
lines changed
  • ctf/org.eclipse.tracecompass.ctf.core/src/org/eclipse/tracecompass/internal/ctf/core/event/metadata

1 file changed

+13
-0
lines changed

ctf/org.eclipse.tracecompass.ctf.core/src/org/eclipse/tracecompass/internal/ctf/core/event/metadata/IOStructGen.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@
2020

2121
import java.util.ArrayList;
2222
import java.util.Collection;
23+
import java.util.LinkedHashMap;
2324
import java.util.List;
25+
import java.util.Map;
26+
import java.util.Map.Entry;
2427
import java.util.stream.Collectors;
2528

2629
import org.eclipse.jdt.annotation.NonNull;
@@ -46,6 +49,7 @@
4649
import org.eclipse.tracecompass.internal.ctf.core.utils.JsonMetadataStrings;
4750

4851
import com.google.common.collect.Iterables;
52+
import com.google.gson.JsonElement;
4953

5054
/**
5155
* IOStructGen
@@ -151,6 +155,15 @@ private void parseRoot(ICTFMetadataNode root) throws ParseException {
151155
throw new ParseException("Only one trace block is allowed"); //$NON-NLS-1$
152156
}
153157
traceNode = child;
158+
if (child instanceof JsonTraceMetadataNode) {
159+
JsonTraceMetadataNode node = (JsonTraceMetadataNode) child;
160+
Map<String, String> env = new LinkedHashMap<>();
161+
for( Entry<String, JsonElement> entry : node.getEnvironment().entrySet()) {
162+
env.put(entry.getKey(), entry.getValue().toString());
163+
}
164+
fTrace.setEnvironment(env);
165+
166+
}
154167
parseTrace(traceNode);
155168
} else if (CTFParser.tokenNames[CTFParser.STREAM].equals(type) || JsonMetadataStrings.FRAGMENT_DATA_STREAM.equals(type)) {
156169
StreamParser.INSTANCE.parse(child, new StreamParser.Param(fTrace, fRoot));

0 commit comments

Comments
 (0)