├── .gitignore
├── .m2
└── settings.xml
├── LICENSE
├── README.adoc
├── README.dev.adoc
├── ctfreader
├── LICENSE
├── java-only-sources.properties
├── pom.xml
└── src
│ ├── main
│ ├── antlr3
│ │ └── org
│ │ │ └── eclipse
│ │ │ └── tracecompass
│ │ │ └── ctf
│ │ │ └── parser
│ │ │ ├── CTFLexer.g
│ │ │ └── CTFParser.g
│ └── java
│ │ └── org
│ │ └── eclipse
│ │ └── tracecompass
│ │ ├── ctf
│ │ └── core
│ │ │ ├── CTFException.java
│ │ │ ├── CTFStrings.java
│ │ │ ├── event
│ │ │ ├── CTFClock.java
│ │ │ ├── IEventDeclaration.java
│ │ │ ├── IEventDefinition.java
│ │ │ ├── io
│ │ │ │ └── BitBuffer.java
│ │ │ ├── metadata
│ │ │ │ ├── DeclarationScope.java
│ │ │ │ └── ParseException.java
│ │ │ ├── scope
│ │ │ │ ├── EventHeaderScope.java
│ │ │ │ ├── EventHeaderVScope.java
│ │ │ │ ├── FieldsScope.java
│ │ │ │ ├── IDefinitionScope.java
│ │ │ │ ├── ILexicalScope.java
│ │ │ │ ├── LexicalScope.java
│ │ │ │ ├── PacketHeaderScope.java
│ │ │ │ └── RootScope.java
│ │ │ └── types
│ │ │ │ ├── AbstractArrayDefinition.java
│ │ │ │ ├── ArrayDeclaration.java
│ │ │ │ ├── ArrayDefinition.java
│ │ │ │ ├── ByteArrayDefinition.java
│ │ │ │ ├── CompoundDeclaration.java
│ │ │ │ ├── Declaration.java
│ │ │ │ ├── Definition.java
│ │ │ │ ├── Encoding.java
│ │ │ │ ├── EnumDeclaration.java
│ │ │ │ ├── EnumDefinition.java
│ │ │ │ ├── FloatDeclaration.java
│ │ │ │ ├── FloatDefinition.java
│ │ │ │ ├── ICompositeDefinition.java
│ │ │ │ ├── IDeclaration.java
│ │ │ │ ├── IDefinition.java
│ │ │ │ ├── IEventHeaderDeclaration.java
│ │ │ │ ├── ISimpleDatatypeDeclaration.java
│ │ │ │ ├── IntegerDeclaration.java
│ │ │ │ ├── IntegerDefinition.java
│ │ │ │ ├── ScopedDefinition.java
│ │ │ │ ├── SequenceDeclaration.java
│ │ │ │ ├── SimpleDatatypeDefinition.java
│ │ │ │ ├── StringDeclaration.java
│ │ │ │ ├── StringDefinition.java
│ │ │ │ ├── StructDeclaration.java
│ │ │ │ ├── StructDeclarationFlattener.java
│ │ │ │ ├── StructDefinition.java
│ │ │ │ ├── VariantDeclaration.java
│ │ │ │ └── VariantDefinition.java
│ │ │ └── trace
│ │ │ ├── CTFIOException.java
│ │ │ ├── CTFResponse.java
│ │ │ ├── CTFStreamInput.java
│ │ │ ├── CTFStreamInputReader.java
│ │ │ ├── CTFStreamOutputWriter.java
│ │ │ ├── CTFStreamPacketOutputWriter.java
│ │ │ ├── CTFTrace.java
│ │ │ ├── CTFTraceReader.java
│ │ │ ├── CTFTraceWriter.java
│ │ │ ├── ICTFPacketDescriptor.java
│ │ │ ├── ICTFStream.java
│ │ │ ├── IPacketReader.java
│ │ │ └── Metadata.java
│ │ └── internal
│ │ └── ctf
│ │ └── core
│ │ ├── SafeMappedByteBuffer.java
│ │ ├── event
│ │ ├── EventDeclaration.java
│ │ ├── EventDefinition.java
│ │ ├── LostEventDeclaration.java
│ │ ├── metadata
│ │ │ ├── AbstractScopedCommonTreeParser.java
│ │ │ ├── CtfAntlrException.java
│ │ │ ├── ICommonTreeParser.java
│ │ │ ├── IOStructGen.java
│ │ │ ├── Messages.java
│ │ │ ├── MetadataStrings.java
│ │ │ └── tsdl
│ │ │ │ ├── AlignmentParser.java
│ │ │ │ ├── ByteOrderParser.java
│ │ │ │ ├── ClockParser.java
│ │ │ │ ├── PointerListStringParser.java
│ │ │ │ ├── SizeParser.java
│ │ │ │ ├── TsdlUtils.java
│ │ │ │ ├── TypeAliasAliasParser.java
│ │ │ │ ├── TypeAliasParser.java
│ │ │ │ ├── TypeAliasTargetParser.java
│ │ │ │ ├── TypeDeclarationParser.java
│ │ │ │ ├── TypeDeclarationStringParser.java
│ │ │ │ ├── TypeDeclaratorParser.java
│ │ │ │ ├── TypeSpecifierListNameParser.java
│ │ │ │ ├── TypeSpecifierListParser.java
│ │ │ │ ├── TypeSpecifierListStringParser.java
│ │ │ │ ├── TypedefParser.java
│ │ │ │ ├── UnaryIntegerParser.java
│ │ │ │ ├── UnaryStringParser.java
│ │ │ │ ├── enumeration
│ │ │ │ ├── EnumBodyParser.java
│ │ │ │ ├── EnumContainerParser.java
│ │ │ │ ├── EnumParser.java
│ │ │ │ └── EnumeratorParser.java
│ │ │ │ ├── environment
│ │ │ │ └── EnvironmentParser.java
│ │ │ │ ├── event
│ │ │ │ ├── EventDeclarationParser.java
│ │ │ │ ├── EventIDParser.java
│ │ │ │ ├── EventNameParser.java
│ │ │ │ ├── EventParser.java
│ │ │ │ └── EventScopeParser.java
│ │ │ │ ├── floatingpoint
│ │ │ │ └── FloatDeclarationParser.java
│ │ │ │ ├── integer
│ │ │ │ ├── BaseParser.java
│ │ │ │ ├── ClockMapParser.java
│ │ │ │ ├── IntegerDeclarationParser.java
│ │ │ │ └── SignedParser.java
│ │ │ │ ├── stream
│ │ │ │ ├── StreamDeclarationParser.java
│ │ │ │ ├── StreamIdParser.java
│ │ │ │ ├── StreamParser.java
│ │ │ │ └── StreamScopeParser.java
│ │ │ │ ├── string
│ │ │ │ ├── EncodingParser.java
│ │ │ │ └── StringDeclarationParser.java
│ │ │ │ ├── struct
│ │ │ │ ├── StructBodyParser.java
│ │ │ │ ├── StructDeclarationParser.java
│ │ │ │ └── StructParser.java
│ │ │ │ ├── trace
│ │ │ │ ├── TraceDeclarationParser.java
│ │ │ │ ├── TraceScopeParser.java
│ │ │ │ ├── UUIDParser.java
│ │ │ │ └── VersionNumberParser.java
│ │ │ │ └── variant
│ │ │ │ ├── VariantBodyParser.java
│ │ │ │ ├── VariantDeclarationParser.java
│ │ │ │ └── VariantParser.java
│ │ └── types
│ │ │ └── composite
│ │ │ ├── EventHeaderCompactDeclaration.java
│ │ │ ├── EventHeaderDefinition.java
│ │ │ └── EventHeaderLargeDeclaration.java
│ │ └── trace
│ │ ├── CTFPacketReader.java
│ │ ├── CTFStream.java
│ │ ├── NullPacketReader.java
│ │ ├── StreamInputPacketIndex.java
│ │ ├── StreamInputPacketIndexEntry.java
│ │ ├── StreamInputReaderTimestampComparator.java
│ │ └── Utils.java
│ └── test
│ └── java
│ └── org
│ └── eclipse
│ └── tracecompass
│ └── ctf
│ ├── core
│ └── tests
│ │ ├── ctftestsuite
│ │ └── CtfTestSuiteTest.java
│ │ ├── event
│ │ ├── CTFEventDefinitionTest.java
│ │ └── CTFEventFieldTest.java
│ │ ├── io
│ │ ├── BitBufferIntTest.java
│ │ ├── BitBufferTest.java
│ │ └── Util.java
│ │ ├── scope
│ │ └── LexicalScopeTest.java
│ │ ├── shared
│ │ ├── CtfTestTraceExtractor.java
│ │ └── LttngTraceGenerator.java
│ │ ├── trace
│ │ ├── CTFPacketReaderTest.java
│ │ ├── CTFStreamInputPacketIndexEntryTest.java
│ │ ├── CTFStreamInputPacketIndexTest.java
│ │ ├── CTFStreamInputReaderTest.java
│ │ ├── CTFStreamInputReaderTimestampComparatorTest.java
│ │ ├── CTFStreamInputTest.java
│ │ ├── CTFStreamTest.java
│ │ ├── CTFTraceGrowingStreamTest.java
│ │ ├── CTFTraceGrowingTest.java
│ │ ├── CTFTraceReaderTest.java
│ │ ├── CTFTraceTest.java
│ │ ├── CTFTraceWriterTest.java
│ │ ├── IOstructgenTest.java
│ │ ├── MetadataPrevalidationTests.java
│ │ ├── MetadataTest.java
│ │ ├── TraceReadAllTracesTest.java
│ │ └── UtilsTest.java
│ │ └── types
│ │ ├── ArrayDeclaration2Test.java
│ │ ├── ArrayDefinition2Test.java
│ │ ├── DefinitionTest.java
│ │ ├── EnumDeclarationTest.java
│ │ ├── EnumDefinitionTest.java
│ │ ├── EventDeclarationTest.java
│ │ ├── EventHeaderDeclarationTest.java
│ │ ├── FloatDeclarationTest.java
│ │ ├── FloatDefinitionTest.java
│ │ ├── IntegerDeclarationTest.java
│ │ ├── IntegerDefinitionTest.java
│ │ ├── IntegerEndiannessTest.java
│ │ ├── SequenceDeclaration2Test.java
│ │ ├── SequenceDefinition2Test.java
│ │ ├── StringDeclarationTest.java
│ │ ├── StringDefinitionTest.java
│ │ ├── StructDeclarationTest.java
│ │ ├── StructDefinitionTest.java
│ │ ├── VariantDeclarationTest.java
│ │ └── VariantDefinitionTest.java
│ └── parser
│ └── tests
│ ├── CtfLexerTest.java
│ └── CtfParserTest.java
├── jabberwockd
├── kotlin-only-sources.properties
├── mixed-java-kotlin-sources.properties
├── pom.xml
└── src
│ ├── main
│ └── kotlin
│ │ └── com
│ │ └── efficios
│ │ └── jabberwocky
│ │ └── jabberwockd
│ │ ├── HttpConstants.kt
│ │ ├── JabberwockDaemon.kt
│ │ ├── JabberwockLocalPaths.kt
│ │ └── handlers
│ │ ├── DebugHandler.kt
│ │ └── TracesHandler.kt
│ └── test
│ └── kotlin
│ └── com
│ └── efficios
│ └── jabberwocky
│ └── jabberwockd
│ └── TraceUploadTest.kt
├── jabberwocky-core-test-base
├── kotlin-only-sources.properties
├── pom.xml
└── src
│ ├── main
│ └── kotlin
│ │ └── com
│ │ └── efficios
│ │ └── jabberwocky
│ │ ├── project
│ │ └── TraceProjectIteratorSingleTraceTestBase.kt
│ │ ├── tests
│ │ └── JavaFXTestBase.kt
│ │ └── trace
│ │ └── TraceIteratorTestBase.kt
│ └── test
│ └── kotlin
│ └── com
│ └── efficios
│ └── jabberwocky
│ ├── analysis
│ └── eventstats
│ │ ├── EventStatsAnalysisTest.kt
│ │ └── EventStatsXYChartProviderTest.kt
│ ├── project
│ └── TraceProjectTest.kt
│ ├── trace
│ ├── TraceIteratorPositionTest.kt
│ ├── TraceIteratorTest.kt
│ ├── TraceStubs.kt
│ └── TraceTest.kt
│ └── views
│ └── xychart
│ └── control
│ └── XYChartControlTest.kt
├── jabberwocky-core
├── mixed-java-kotlin-sources.properties
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── efficios
│ │ │ └── jabberwocky
│ │ │ └── views
│ │ │ └── timegraph
│ │ │ ├── model
│ │ │ ├── provider
│ │ │ │ ├── ITimeGraphModelProviderFactory.java
│ │ │ │ ├── TimeGraphModelProviderManager.java
│ │ │ │ ├── drawnevents
│ │ │ │ │ └── TimeGraphDrawnEventProviderManager.java
│ │ │ │ └── statesystem
│ │ │ │ │ ├── StateSystemModelArrowProvider.java
│ │ │ │ │ ├── StateSystemModelProvider.java
│ │ │ │ │ └── StateSystemTimeGraphTreeElement.java
│ │ │ └── render
│ │ │ │ ├── LineThickness.java
│ │ │ │ ├── StateDefinition.java
│ │ │ │ ├── TimeGraphEvent.java
│ │ │ │ ├── arrows
│ │ │ │ ├── TimeGraphArrow.java
│ │ │ │ ├── TimeGraphArrowRender.java
│ │ │ │ └── TimeGraphArrowSeries.java
│ │ │ │ ├── drawnevents
│ │ │ │ ├── TimeGraphDrawnEvent.java
│ │ │ │ ├── TimeGraphDrawnEventRender.java
│ │ │ │ └── TimeGraphDrawnEventSeries.java
│ │ │ │ ├── states
│ │ │ │ ├── BasicTimeGraphStateInterval.java
│ │ │ │ ├── MultiStateInterval.java
│ │ │ │ └── TimeGraphStateInterval.java
│ │ │ │ └── tree
│ │ │ │ ├── TimeGraphTreeElement.java
│ │ │ │ └── TimeGraphTreeRender.java
│ │ │ └── view
│ │ │ ├── TimeGraphModelView.java
│ │ │ └── json
│ │ │ ├── RenderToJson.java
│ │ │ └── TimeGraphJsonOutput.java
│ └── kotlin
│ │ └── com
│ │ └── efficios
│ │ └── jabberwocky
│ │ ├── analysis
│ │ ├── IAnalysis.kt
│ │ ├── eventstats
│ │ │ ├── EventStatsAnalysis.kt
│ │ │ ├── EventStatsTotalsSeriesProvider.kt
│ │ │ └── EventStatsXYChartProvider.kt
│ │ └── statesystem
│ │ │ └── StateSystemAnalysis.kt
│ │ ├── collection
│ │ ├── BaseTraceCollectionIterator.kt
│ │ ├── TraceCollection.kt
│ │ └── TraceCollectionIterator.kt
│ │ ├── common
│ │ ├── ConfigOption.kt
│ │ └── TimeRange.kt
│ │ ├── context
│ │ └── ViewGroupContext.kt
│ │ ├── project
│ │ ├── BaseTraceProjectIterator.kt
│ │ ├── TraceProject.kt
│ │ └── TraceProjectIterator.kt
│ │ ├── task
│ │ ├── JabberwockyTask.kt
│ │ └── JabberwockyTaskManager.kt
│ │ ├── trace
│ │ ├── Trace.kt
│ │ ├── TraceInitializationException.kt
│ │ ├── TraceIterator.kt
│ │ ├── TraceIteratorPosition.kt
│ │ └── event
│ │ │ ├── BaseTraceEvent.kt
│ │ │ ├── FieldValue.kt
│ │ │ ├── TraceEvent.kt
│ │ │ └── TraceLostEvent.kt
│ │ ├── utils
│ │ ├── RewindingIterator.kt
│ │ ├── RewindingSortedCompoundIterator.kt
│ │ ├── SortedCompoundIterator.kt
│ │ └── UsingResources.kt
│ │ └── views
│ │ ├── common
│ │ ├── ColorDefinition.kt
│ │ ├── EventSymbolStyle.kt
│ │ └── FlatUIColors.kt
│ │ ├── timegraph
│ │ ├── control
│ │ │ └── TimeGraphModelControl.kt
│ │ └── model
│ │ │ ├── provider
│ │ │ ├── ITimeGraphModelProvider.kt
│ │ │ ├── TimeGraphModelProvider.kt
│ │ │ ├── arrows
│ │ │ │ └── TimeGraphModelArrowProvider.kt
│ │ │ ├── drawnevents
│ │ │ │ └── TimeGraphDrawnEventProvider.kt
│ │ │ ├── states
│ │ │ │ └── TimeGraphModelStateProvider.kt
│ │ │ └── statesystem
│ │ │ │ └── StateSystemModelStateProvider.kt
│ │ │ └── render
│ │ │ └── states
│ │ │ └── TimeGraphStateRender.kt
│ │ └── xychart
│ │ ├── control
│ │ └── XYChartControl.kt
│ │ ├── model
│ │ ├── XYChartResolutionUtils.kt
│ │ ├── provider
│ │ │ ├── XYChartModelProvider.kt
│ │ │ ├── XYChartModelProviderManager.kt
│ │ │ ├── XYChartSeriesProvider.kt
│ │ │ └── statesystem
│ │ │ │ ├── StateSystemXYChartProvider.kt
│ │ │ │ └── StateSystemXYChartSeriesProvider.kt
│ │ └── render
│ │ │ ├── XYChartRender.kt
│ │ │ └── XYChartSeries.kt
│ │ └── view
│ │ ├── XYChartView.kt
│ │ └── json
│ │ └── XYChartJsonOutput.kt
│ └── test
│ └── kotlin
│ └── com
│ └── efficios
│ └── jabberwocky
│ ├── common
│ └── TimeRangeTest.kt
│ ├── utils
│ ├── RewindingSortedCompoundIteratorTest.kt
│ ├── SortedCompoundIteratorTest.kt
│ └── SortedCompoundIteratorTestBase.kt
│ └── views
│ ├── common
│ └── ColorDefinitionTest.kt
│ └── xychart
│ └── model
│ └── provider
│ ├── XYChartSeriesProviderStub.kt
│ └── XYChartSeriesProviderTest.kt
├── jabberwocky-ctf
├── kotlin-only-sources.properties
├── pom.xml
└── src
│ ├── main
│ └── kotlin
│ │ └── com
│ │ └── efficios
│ │ └── jabberwocky
│ │ └── ctf
│ │ └── trace
│ │ ├── CtfTrace.kt
│ │ ├── CtfTraceIterator.kt
│ │ ├── CtfTraceUtils.kt
│ │ └── event
│ │ ├── CtfTraceEvent.kt
│ │ ├── CtfTraceEventFactory.kt
│ │ ├── CtfTraceEventFieldParser.kt
│ │ └── CtfTraceLostEvent.kt
│ └── test
│ └── kotlin
│ └── com
│ └── efficios
│ └── jabberwocky
│ └── ctf
│ ├── analysis
│ └── CtfStateSystemAnalysisTest.kt
│ ├── collection
│ ├── CtfTraceCollectionTest.kt
│ └── CtfTraceProjectTest.kt
│ ├── project
│ └── CtfTraceProjectIteratorSingleTraceTest.kt
│ └── trace
│ ├── CtfTestTraceExtractor.kt
│ ├── CtfTraceIteratorTest.kt
│ ├── CtfTraceTest.kt
│ ├── ExtractedCtfTestTrace.kt
│ ├── FunkyTraceTest.kt
│ └── event
│ ├── CtfTmfEventFieldSignExtensionTest.kt
│ ├── CtfTmfEventFieldTest.kt
│ ├── CtfTmfEventTest.kt
│ ├── CtfTmfLostEventsTest.kt
│ └── EventContextTest.kt
├── jabberwocky-lttng
├── mixed-java-kotlin-sources.properties
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── efficios
│ │ │ └── jabberwocky
│ │ │ └── lttng
│ │ │ ├── kernel
│ │ │ └── views
│ │ │ │ └── timegraph
│ │ │ │ ├── KernelAnalysisStateDefinitions.java
│ │ │ │ ├── Messages.java
│ │ │ │ ├── resources
│ │ │ │ ├── Messages.java
│ │ │ │ ├── ResourcesBaseModelProvider.java
│ │ │ │ ├── ResourcesCpuIrqModelProvider.java
│ │ │ │ ├── ResourcesIrqModelProvider.java
│ │ │ │ ├── ResourcesModelStateProvider.java
│ │ │ │ └── elements
│ │ │ │ │ ├── Messages.java
│ │ │ │ │ ├── ResourcesCpuTreeElement.java
│ │ │ │ │ └── ResourcesIrqTreeElement.java
│ │ │ │ └── threads
│ │ │ │ ├── Messages.java
│ │ │ │ ├── ThreadsConfigModes.java
│ │ │ │ ├── ThreadsModelArrowProviderCpus.java
│ │ │ │ ├── ThreadsModelProvider.java
│ │ │ │ ├── ThreadsModelStateProvider.java
│ │ │ │ └── ThreadsTreeElement.java
│ │ │ └── ust
│ │ │ ├── analysis
│ │ │ └── debuginfo
│ │ │ │ ├── BinaryCallsite.java
│ │ │ │ ├── FunctionLocation.java
│ │ │ │ ├── UstDebugInfoAnalysis.java
│ │ │ │ ├── UstDebugInfoAnalysisDefinitions.java
│ │ │ │ ├── UstDebugInfoAnalysisResults.java
│ │ │ │ ├── UstDebugInfoAnalysisStateProvider.java
│ │ │ │ ├── UstDebugInfoBinaryFile.java
│ │ │ │ └── UstDebugInfoLoadedBinaryFile.java
│ │ │ └── trace
│ │ │ └── layout
│ │ │ ├── ILttngUstEventLayout.java
│ │ │ ├── LttngUst20EventLayout.java
│ │ │ ├── LttngUst27EventLayout.java
│ │ │ ├── LttngUst28EventLayout.java
│ │ │ └── LttngUst29EventLayout.java
│ └── kotlin
│ │ └── com
│ │ └── efficios
│ │ └── jabberwocky
│ │ └── lttng
│ │ ├── kernel
│ │ ├── analysis
│ │ │ └── os
│ │ │ │ ├── Attributes.kt
│ │ │ │ ├── KernelAnalysis.kt
│ │ │ │ ├── KernelAnalysisEventDefinitions.kt
│ │ │ │ ├── KernelStateAggregationRules.kt
│ │ │ │ ├── KernelThreadInfo.kt
│ │ │ │ ├── LinuxValues.kt
│ │ │ │ ├── StateValues.kt
│ │ │ │ └── handlers
│ │ │ │ ├── IPIEntryHandler.kt
│ │ │ │ ├── IPIExitHandler.kt
│ │ │ │ ├── IrqEntryHandler.kt
│ │ │ │ ├── IrqExitHandler.kt
│ │ │ │ ├── KernelEventHandler.kt
│ │ │ │ ├── KernelEventHandlerUtils.kt
│ │ │ │ ├── PiSetPrioHandler.kt
│ │ │ │ ├── ProcessExitHandler.kt
│ │ │ │ ├── ProcessForkHandler.kt
│ │ │ │ ├── ProcessFreeHandler.kt
│ │ │ │ ├── SchedMigrateTaskHandler.kt
│ │ │ │ ├── SchedSwitchHandler.kt
│ │ │ │ ├── SchedWakeupHandler.kt
│ │ │ │ ├── SoftIrqEntryHandler.kt
│ │ │ │ ├── SoftIrqExitHandler.kt
│ │ │ │ ├── SoftIrqRaiseHandler.kt
│ │ │ │ ├── StateDumpHandler.kt
│ │ │ │ ├── SysEntryHandler.kt
│ │ │ │ └── SysExitHandler.kt
│ │ ├── trace
│ │ │ ├── LttngKernelTraceUtils.kt
│ │ │ └── layout
│ │ │ │ ├── LttngKernel20EventLayout.kt
│ │ │ │ ├── LttngKernel26EventLayout.kt
│ │ │ │ ├── LttngKernel27EventLayout.kt
│ │ │ │ ├── LttngKernel28EventLayout.kt
│ │ │ │ ├── LttngKernel29EventLayout.kt
│ │ │ │ ├── LttngKernelEventLayout.kt
│ │ │ │ └── PerfEventLayout.kt
│ │ └── views
│ │ │ └── timegraph
│ │ │ └── resources
│ │ │ └── ResourcesCpuModelProvider.kt
│ │ └── ust
│ │ ├── analysis
│ │ └── debuginfo
│ │ │ └── UstDebugInfoAnalysisResultsUtils.kt
│ │ └── trace
│ │ └── LttngUstTraceUtils.kt
│ └── test
│ └── kotlin
│ └── com
│ └── efficios
│ └── jabberwocky
│ └── lttng
│ ├── kernel
│ ├── analysis
│ │ └── os
│ │ │ ├── KernelAnalysisAllTracesTestBase.kt
│ │ │ └── KernelAnalysisTest.kt
│ ├── trace
│ │ └── LttngKernelTraceUtilsTest.kt
│ └── views
│ │ └── timegraph
│ │ └── threads
│ │ ├── ThreadsModelBenchmark.kt
│ │ └── ThreadsModelProviderTest.kt
│ ├── testutils
│ ├── CtfTestTraceExtractor.kt
│ └── ExtractedCtfTestTrace.kt
│ └── ust
│ ├── analysis
│ └── debuginfo
│ │ └── UstDebugInfoAnalysisTest.kt
│ └── trace
│ └── LttngUstTraceUtilsTest.kt
├── javeltrace
├── kotlin-only-sources.properties
├── pom.xml
└── src
│ └── main
│ └── kotlin
│ └── com
│ └── efficios
│ └── jabberwocky
│ └── javeltrace
│ ├── Javeltrace.kt
│ ├── TimegraphExample.kt
│ └── XYChartExample.kt
├── libdelorean
├── LICENSE
├── mixed-java-kotlin-sources.properties
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── ca
│ │ │ └── polymtl
│ │ │ └── dorsal
│ │ │ └── libdelorean
│ │ │ ├── Attribute.java
│ │ │ ├── AttributeTree.java
│ │ │ ├── IStateSystemQuarkResolver.java
│ │ │ ├── IStateSystemReader.java
│ │ │ ├── IStateSystemWriter.java
│ │ │ ├── StateSystem.java
│ │ │ ├── StateSystemFactory.java
│ │ │ ├── StateSystemUtils.java
│ │ │ ├── TransientState.java
│ │ │ ├── aggregation
│ │ │ ├── AttributePriorityAggregationRule.java
│ │ │ ├── BitwiseOrAggregationRule.java
│ │ │ ├── IStateAggregationRule.java
│ │ │ ├── StateAggregationRule.java
│ │ │ └── SymbolicLinkRule.java
│ │ │ ├── backend
│ │ │ ├── InMemoryBackend.java
│ │ │ ├── NullBackend.java
│ │ │ ├── StateHistoryBackendFactory.java
│ │ │ └── historytree
│ │ │ │ └── HistoryTree.java
│ │ │ ├── exceptions
│ │ │ ├── AttributeNotFoundException.java
│ │ │ ├── StateSystemDisposedException.java
│ │ │ └── TimeRangeException.java
│ │ │ └── statedump
│ │ │ └── Statedump.java
│ └── kotlin
│ │ └── ca
│ │ └── polymtl
│ │ └── dorsal
│ │ └── libdelorean
│ │ ├── StateSystemUtils2D.kt
│ │ ├── backend
│ │ ├── IStateHistoryBackend.kt
│ │ └── historytree
│ │ │ ├── HTInterval.kt
│ │ │ ├── HT_IO.kt
│ │ │ ├── HistoryTreeBackend.kt
│ │ │ └── HistoryTreeNode.kt
│ │ ├── interval
│ │ └── StateInterval.kt
│ │ └── statevalue
│ │ └── StateValue.kt
│ └── test
│ ├── java
│ └── ca
│ │ └── polymtl
│ │ └── dorsal
│ │ └── libdelorean
│ │ ├── AttributeTreeTest.java
│ │ ├── StateSystemPushPopTest.java
│ │ ├── StateSystemUtilsTest.java
│ │ ├── aggregation
│ │ ├── AggregationTestBase.java
│ │ ├── AttributePriorityAggregationTest.java
│ │ ├── BitwiseOrAggregationTest.java
│ │ ├── ChainedAggregationTest.java
│ │ └── SymbolicLinkTest.java
│ │ ├── backend
│ │ ├── HistoryTreeBackendReOpenTest.java
│ │ ├── HistoryTreeBackendTest.java
│ │ ├── InMemoryBackendTest.java
│ │ ├── StateHistoryBackendTestBase.java
│ │ └── historytree
│ │ │ └── HistoryTreeTest.java
│ │ └── statedump
│ │ └── StatedumpTest.java
│ └── kotlin
│ └── ca
│ └── polymtl
│ └── dorsal
│ └── libdelorean
│ └── StateSystemUtils2DTest.kt
├── lttng-scope-ui
├── LICENSE
├── mixed-java-kotlin-sources.properties
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── org
│ │ │ └── lttng
│ │ │ └── scope
│ │ │ ├── common
│ │ │ ├── format
│ │ │ │ ├── DataSizeWithUnitFormat.java
│ │ │ │ ├── DataSpeedWithUnitFormat.java
│ │ │ │ └── DecimalUnitFormat.java
│ │ │ ├── jfx
│ │ │ │ ├── JfxTextUtils.java
│ │ │ │ └── TimeAxis.java
│ │ │ ├── log
│ │ │ │ └── TraceCompassLog.java
│ │ │ └── process
│ │ │ │ ├── Messages.java
│ │ │ │ └── ProcessUtils.java
│ │ │ ├── lami
│ │ │ ├── LamiConfigFileStrings.java
│ │ │ ├── LamiConfigUtils.java
│ │ │ ├── LamiStrings.java
│ │ │ ├── ShellUtils.java
│ │ │ ├── aspect
│ │ │ │ ├── LamiDurationAspect.java
│ │ │ │ ├── LamiEmptyAspect.java
│ │ │ │ ├── LamiGenericAspect.java
│ │ │ │ ├── LamiIRQNameAspect.java
│ │ │ │ ├── LamiIRQNumberAspect.java
│ │ │ │ ├── LamiIRQTypeAspect.java
│ │ │ │ ├── LamiMixedAspect.java
│ │ │ │ ├── LamiProcessNameAspect.java
│ │ │ │ ├── LamiProcessPIDAspect.java
│ │ │ │ ├── LamiProcessTIDAspect.java
│ │ │ │ ├── LamiTableEntryAspect.java
│ │ │ │ ├── LamiTimeRangeBeginAspect.java
│ │ │ │ ├── LamiTimeRangeDurationAspect.java
│ │ │ │ ├── LamiTimeRangeEndAspect.java
│ │ │ │ ├── LamiTimestampAspect.java
│ │ │ │ └── Messages.java
│ │ │ ├── format
│ │ │ │ ├── LamiDecimalUnitFormat.java
│ │ │ │ ├── LamiLabelFormat.java
│ │ │ │ └── LamiTimeStampFormat.java
│ │ │ ├── handler
│ │ │ │ ├── AddAnalysisDialog.java
│ │ │ │ ├── AddAnalysisHandler.java
│ │ │ │ ├── DeleteReportHandler.java
│ │ │ │ ├── HandlerUtils.java
│ │ │ │ ├── Messages.java
│ │ │ │ ├── OpenReportHandler.java
│ │ │ │ ├── ParameterDialog.java
│ │ │ │ ├── RemoveAnalysisHandler.java
│ │ │ │ ├── RunAnalysisHandler.java
│ │ │ │ └── messages.properties
│ │ │ ├── module
│ │ │ │ ├── LamiAnalysis.java
│ │ │ │ ├── LamiAnalysisFactoryException.java
│ │ │ │ ├── LamiAnalysisFactoryFromConfigFile.java
│ │ │ │ ├── LamiAnalysisReport.java
│ │ │ │ ├── LamiChartModel.java
│ │ │ │ ├── LamiResultTable.java
│ │ │ │ ├── LamiTableClass.java
│ │ │ │ ├── LamiTableEntry.java
│ │ │ │ ├── LamiXYSeriesDescription.java
│ │ │ │ └── Messages.java
│ │ │ ├── types
│ │ │ │ ├── LamiBitrate.java
│ │ │ │ ├── LamiBoolean.java
│ │ │ │ ├── LamiCPU.java
│ │ │ │ ├── LamiData.java
│ │ │ │ ├── LamiDisk.java
│ │ │ │ ├── LamiDiskPartition.java
│ │ │ │ ├── LamiDoubleNumber.java
│ │ │ │ ├── LamiDuration.java
│ │ │ │ ├── LamiEmpty.java
│ │ │ │ ├── LamiFileDescriptor.java
│ │ │ │ ├── LamiIRQ.java
│ │ │ │ ├── LamiLongNumber.java
│ │ │ │ ├── LamiNetworkInterface.java
│ │ │ │ ├── LamiNumber.java
│ │ │ │ ├── LamiPath.java
│ │ │ │ ├── LamiProcess.java
│ │ │ │ ├── LamiRatio.java
│ │ │ │ ├── LamiSize.java
│ │ │ │ ├── LamiString.java
│ │ │ │ ├── LamiSystemCall.java
│ │ │ │ ├── LamiTimeRange.java
│ │ │ │ ├── LamiTimestamp.java
│ │ │ │ ├── LamiUnknown.java
│ │ │ │ ├── LamiVersion.java
│ │ │ │ └── Messages.java
│ │ │ ├── viewers
│ │ │ │ ├── ILamiViewer.java
│ │ │ │ ├── LamiBarChartViewer.java
│ │ │ │ ├── LamiGraphRange.java
│ │ │ │ ├── LamiScatterViewer.java
│ │ │ │ ├── LamiTableContentProvider.java
│ │ │ │ ├── LamiTableViewer.java
│ │ │ │ ├── LamiXYChartViewer.java
│ │ │ │ ├── Messages.java
│ │ │ │ └── messages.properties
│ │ │ └── views
│ │ │ │ ├── LamiAxisCheckBoxOption.java
│ │ │ │ ├── LamiReportView.java
│ │ │ │ ├── LamiReportViewFactory.java
│ │ │ │ ├── LamiReportViewTabPage.java
│ │ │ │ ├── LamiSeriesDialog.java
│ │ │ │ ├── LamiViewerControl.java
│ │ │ │ ├── Messages.java
│ │ │ │ └── messages.properties
│ │ │ └── views
│ │ │ ├── context
│ │ │ └── ViewGroupContextManager.java
│ │ │ └── timeline
│ │ │ └── widgets
│ │ │ └── timegraph
│ │ │ ├── LoadingOverlay.java
│ │ │ ├── Messages.java
│ │ │ ├── StateRectangle.java
│ │ │ ├── TimeGraphWidget.java
│ │ │ ├── TimeGraphWidgetTreeArea.java
│ │ │ ├── VerticalPosition.java
│ │ │ ├── layer
│ │ │ ├── TimeGraphArrowLayer.java
│ │ │ ├── TimeGraphBackgroundLayer.java
│ │ │ ├── TimeGraphLayer.java
│ │ │ ├── TimeGraphSelectionLayer.java
│ │ │ ├── TimeGraphStateLayer.java
│ │ │ └── drawnevents
│ │ │ │ └── TimeGraphDrawnEventLayer.java
│ │ │ └── toolbar
│ │ │ ├── ArrowSeriesMenuButton.java
│ │ │ ├── FilterModeMenuButton.java
│ │ │ ├── Messages.java
│ │ │ ├── SortingModeMenuButton.java
│ │ │ ├── ViewerToolBar.java
│ │ │ ├── ZoomInButton.java
│ │ │ ├── ZoomOutButton.java
│ │ │ ├── ZoomToFullRangeButton.java
│ │ │ ├── ZoomToSelectionButton.java
│ │ │ ├── modelconfig
│ │ │ ├── Messages.java
│ │ │ ├── ModelConfigButton.java
│ │ │ └── ModelConfigDialog.java
│ │ │ └── nav
│ │ │ ├── Messages.java
│ │ │ ├── NavUtils.java
│ │ │ ├── NavigationButtons.java
│ │ │ ├── NavigationMode.java
│ │ │ ├── NavigationModeFollowArrows.java
│ │ │ ├── NavigationModeFollowBookmarks.java
│ │ │ ├── NavigationModeFollowEvents.java
│ │ │ └── NavigationModeFollowStateChanges.java
│ ├── kotlin
│ │ └── org
│ │ │ └── lttng
│ │ │ └── scope
│ │ │ ├── ScopePaths.kt
│ │ │ ├── application
│ │ │ ├── ScopeApplication.kt
│ │ │ ├── ScopeKeyBindings.kt
│ │ │ ├── ScopeMainWindow.kt
│ │ │ ├── ScopeMenuBar.kt
│ │ │ ├── ScopeOptions.kt
│ │ │ ├── ScopeWindowManager.kt
│ │ │ ├── actions
│ │ │ │ ├── AddTraceAction.kt
│ │ │ │ ├── ProjectSetupActions.kt
│ │ │ │ └── ProjectSetupDialog.kt
│ │ │ └── task
│ │ │ │ ├── ScopeStatusBar.kt
│ │ │ │ └── ScopeTaskProgressView.kt
│ │ │ ├── common
│ │ │ ├── ChangeListenerHandler.kt
│ │ │ ├── LatestTaskExecutor.kt
│ │ │ ├── MathUtils.kt
│ │ │ ├── NestingBoolean.kt
│ │ │ ├── TimestampFormat.kt
│ │ │ └── jfx
│ │ │ │ ├── ActionButton.kt
│ │ │ │ ├── Arrow.kt
│ │ │ │ ├── CountingGridPane.kt
│ │ │ │ ├── JfxColorFactory.kt
│ │ │ │ ├── JfxImageFactory.kt
│ │ │ │ ├── JfxUtils.kt
│ │ │ │ ├── Logo.kt
│ │ │ │ └── ScopeMenuItem.kt
│ │ │ ├── project
│ │ │ ├── ProjectArea.kt
│ │ │ ├── ProjectManager.kt
│ │ │ ├── ProjectState.kt
│ │ │ ├── filter
│ │ │ │ ├── CreateEventFilterDialog.kt
│ │ │ │ ├── EventFilterDefinition.kt
│ │ │ │ └── Symbols.kt
│ │ │ └── tree
│ │ │ │ ├── BookmarksTreeItem.kt
│ │ │ │ ├── FiltersTreeItem.kt
│ │ │ │ ├── ProjectTree.kt
│ │ │ │ ├── ProjectTreeItem.kt
│ │ │ │ └── TracesTreeItem.kt
│ │ │ └── views
│ │ │ ├── events
│ │ │ ├── EventTable.kt
│ │ │ ├── EventTableControl.kt
│ │ │ └── EventTableScrollToolBar.kt
│ │ │ ├── timecontrol
│ │ │ ├── TimeControl.kt
│ │ │ └── TimeRangeTextFields.kt
│ │ │ └── timeline
│ │ │ ├── DebugOptions.kt
│ │ │ ├── NavigationAreaWidget.kt
│ │ │ ├── TimelineManager.kt
│ │ │ ├── TimelineView.kt
│ │ │ ├── TimelineWidget.kt
│ │ │ └── widgets
│ │ │ ├── timegraph
│ │ │ ├── PeriodicRedrawTask.kt
│ │ │ ├── layer
│ │ │ │ └── drawnevents
│ │ │ │ │ ├── DrawnEventFilterListener.kt
│ │ │ │ │ └── PredicateDrawnEventProvider.kt
│ │ │ └── toolbar
│ │ │ │ └── debugopts
│ │ │ │ ├── DebugOptionsButton.kt
│ │ │ │ ├── DebugOptionsDialog.kt
│ │ │ │ └── Messages.kt
│ │ │ └── xychart
│ │ │ ├── XYChartEventCountFilterListener.kt
│ │ │ ├── XYChartFullRangeWidget.kt
│ │ │ ├── XYChartVisibleRangeWidget.kt
│ │ │ ├── XYChartWidget.kt
│ │ │ └── layer
│ │ │ ├── XYChartDragHandlers.kt
│ │ │ ├── XYChartScrollHandlers.kt
│ │ │ └── XYChartSelectionLayer.kt
│ └── resources
│ │ ├── appicons
│ │ ├── generate-icons.sh
│ │ ├── icns
│ │ │ └── scope_icon.icns
│ │ ├── ico
│ │ │ └── scope_icon.ico
│ │ ├── png
│ │ │ ├── scope_icon_128x128.png
│ │ │ ├── scope_icon_16x16.png
│ │ │ ├── scope_icon_256x256.png
│ │ │ ├── scope_icon_32x32.png
│ │ │ ├── scope_icon_48x48.png
│ │ │ └── scope_icon_64x64.png
│ │ ├── scope_about.png
│ │ ├── splash.bmp
│ │ └── xpm
│ │ │ └── scope_icon_256x256.xpm
│ │ ├── icons
│ │ ├── attribution
│ │ ├── table
│ │ │ ├── bottom.png
│ │ │ ├── pagedown.png
│ │ │ ├── pageup.png
│ │ │ └── top.png
│ │ ├── toolbar
│ │ │ ├── config.gif
│ │ │ ├── help.gif
│ │ │ ├── legend.gif
│ │ │ ├── nav_arrow_back.gif
│ │ │ ├── nav_arrow_fwd.gif
│ │ │ ├── nav_bookmark_back.gif
│ │ │ ├── nav_bookmark_fwd.gif
│ │ │ ├── nav_event_back.gif
│ │ │ ├── nav_event_fwd.gif
│ │ │ ├── nav_statechange_back.gif
│ │ │ ├── nav_statechange_fwd.gif
│ │ │ ├── zoom_full.gif
│ │ │ ├── zoom_in.gif
│ │ │ └── zoom_out.gif
│ │ └── tracetype
│ │ │ ├── lttng-ust.png
│ │ │ └── lttng.png
│ │ └── lttng-analyses-configs
│ │ ├── cputop.properties
│ │ ├── index.properties
│ │ ├── iolatencyfreq.properties
│ │ ├── iolatencystats.properties
│ │ ├── iolatencytop.properties
│ │ ├── iolog.properties
│ │ ├── iousagetop.properties
│ │ ├── irqfreq.properties
│ │ ├── irqlog.properties
│ │ ├── irqstats.properties
│ │ ├── memtop.properties
│ │ ├── schedfreq.properties
│ │ ├── schedlog.properties
│ │ ├── schedstats.properties
│ │ ├── schedtop.properties
│ │ └── syscallstats.properties
│ └── test
│ ├── java
│ └── org
│ │ └── lttng
│ │ └── scope
│ │ ├── common
│ │ └── format
│ │ │ ├── DataSizeFormatTest.java
│ │ │ ├── DataSpeedFormatTest.java
│ │ │ ├── DecimalUnitFormatErrorTest.java
│ │ │ ├── DecimalUnitFormatFactorTest.java
│ │ │ └── DecimalUnitFormatTest.java
│ │ ├── lami
│ │ ├── LamiAnalysisStub.java
│ │ └── LamiJsonParserTest.java
│ │ └── views
│ │ └── timeline
│ │ └── widgets
│ │ └── timegraph
│ │ ├── StubDrawnEventProviders.java
│ │ ├── StubModelArrowProvider1.java
│ │ ├── StubModelArrowProvider2.java
│ │ ├── StubModelProvider.java
│ │ ├── StubModelStateProvider.java
│ │ ├── StubView.java
│ │ ├── TimeGraphWidgetArrowsTest.java
│ │ ├── TimeGraphWidgetDrawnEventsTest.java
│ │ ├── TimeGraphWidgetInitTest.java
│ │ ├── TimeGraphWidgetSeekTest.java
│ │ ├── TimeGraphWidgetStatesTest.java
│ │ ├── TimeGraphWidgetStaticTest.java
│ │ ├── TimeGraphWidgetTestBase.java
│ │ └── TimeGraphWidgetZoomTest.java
│ └── kotlin
│ └── org
│ └── lttng
│ └── scope
│ ├── common
│ ├── MathUtilsTest.kt
│ ├── NestingBooleanTest.kt
│ ├── TimestampFormatTestBase.kt
│ ├── TimestampFormat_DHMSTZ_Local_Test.kt
│ ├── TimestampFormat_DHMSTZ_UTC_Test.kt
│ ├── TimestampFormat_DHMS_Local_Test.kt
│ ├── TimestampFormat_DHMS_UTC_Test.kt
│ ├── TimestampFormat_HMS_Local_Test.kt
│ ├── TimestampFormat_HMS_UTC_Test.kt
│ ├── TimestampFormat_SecNano_Test.kt
│ ├── jfx
│ │ └── JfxTextUtilsTest.kt
│ └── tests
│ │ ├── JfxTestUtils.kt
│ │ ├── StubProject.kt
│ │ └── StubTrace.kt
│ └── views
│ └── timecontrol
│ ├── TimeControlTest.kt
│ ├── TimeRangeTextFieldsFormattingTest.kt
│ ├── TimeRangeTextFieldsMinimumTest.kt
│ └── TimeRangeTextFieldsTest.kt
├── pom.xml
└── ttt
├── LICENSE
├── README.md
├── java-only-sources.properties
├── pom.xml
└── src
├── main
├── java
│ └── org
│ │ └── lttng
│ │ └── scope
│ │ └── ttt
│ │ └── ctf
│ │ └── CtfTestTrace.java
├── python
│ ├── debuginfo_synth_buildid_debuglink.py
│ ├── debuginfo_synth_exec.py
│ ├── debuginfo_synth_two_processes.py
│ └── debuginfo_trace_writer.py
└── resources
│ ├── bug446190
│ ├── channel0_0
│ ├── channel0_1
│ ├── channel0_2
│ ├── channel0_3
│ ├── index
│ │ ├── channel0_0.idx
│ │ ├── channel0_1.idx
│ │ ├── channel0_2.idx
│ │ └── channel0_3.idx
│ └── metadata
│ ├── context-switches
│ ├── context-switches-kernel
│ │ ├── channel-context-switches_0
│ │ └── metadata
│ └── context-switches-ust
│ │ ├── channel0_0
│ │ └── metadata
│ ├── ctfwriter_JF8nq3
│ ├── custom_event_header_stream_0
│ ├── empty_stream_0
│ ├── event_before_stream_test_0
│ ├── metadata
│ └── test_stream_0
│ ├── cyg-profile
│ ├── cyg-profile-mapping.txt
│ ├── glxgears-cyg-profile-fast
│ │ ├── channel0_0
│ │ ├── channel0_1
│ │ ├── channel0_2
│ │ ├── channel0_3
│ │ └── metadata
│ └── glxgears-cyg-profile
│ │ ├── channel0_0
│ │ ├── channel0_1
│ │ ├── channel0_2
│ │ ├── channel0_3
│ │ └── metadata
│ ├── debuginfo-synth-buildid-debuglink
│ ├── metadata
│ └── test_stream_0
│ ├── debuginfo-synth-exec
│ ├── metadata
│ └── test_stream_0
│ ├── debuginfo-synth-two-processes
│ ├── metadata
│ └── test_stream_0
│ ├── debuginfo-test-app2
│ ├── channel0_0
│ ├── channel0_1
│ ├── channel0_2
│ ├── channel0_3
│ ├── index
│ │ ├── channel0_0.idx
│ │ ├── channel0_1.idx
│ │ ├── channel0_2.idx
│ │ └── channel0_3.idx
│ └── metadata
│ ├── debuginfo-test-app3
│ ├── channel0_0
│ ├── channel0_1
│ ├── channel0_2
│ ├── channel0_3
│ ├── channel0_4
│ ├── channel0_5
│ ├── channel0_6
│ ├── channel0_7
│ ├── index
│ │ ├── channel0_0.idx
│ │ ├── channel0_1.idx
│ │ ├── channel0_2.idx
│ │ ├── channel0_3.idx
│ │ ├── channel0_4.idx
│ │ ├── channel0_5.idx
│ │ ├── channel0_6.idx
│ │ └── channel0_7.idx
│ └── metadata
│ ├── debuginfo-test-app4
│ ├── channel0_0
│ ├── channel0_1
│ ├── channel0_2
│ ├── channel0_3
│ ├── index
│ │ ├── channel0_0.idx
│ │ ├── channel0_1.idx
│ │ ├── channel0_2.idx
│ │ └── channel0_3.idx
│ └── metadata
│ ├── flipping-endianness
│ ├── channel-context-switches_0
│ └── metadata
│ ├── funky_trace
│ ├── metadata
│ └── test_stream_0
│ ├── hello-lost
│ ├── channel1_0
│ ├── channel1_1
│ ├── channel1_2
│ ├── channel1_3
│ └── metadata
│ ├── kernel
│ ├── channel0_0
│ ├── channel0_1
│ └── metadata
│ ├── kernel_vm
│ ├── channel0_0
│ └── metadata
│ ├── many-threads
│ ├── channel0_0
│ ├── channel0_1
│ ├── channel0_2
│ ├── channel0_3
│ ├── channel0_4
│ ├── channel0_5
│ ├── channel0_6
│ ├── channel0_7
│ ├── index
│ │ ├── channel0_0.idx
│ │ ├── channel0_1.idx
│ │ ├── channel0_2.idx
│ │ ├── channel0_3.idx
│ │ ├── channel0_4.idx
│ │ ├── channel0_5.idx
│ │ ├── channel0_6.idx
│ │ └── channel0_7.idx
│ └── metadata
│ ├── memory
│ ├── channel0_0
│ ├── channel0_1
│ ├── channel0_2
│ ├── channel0_3
│ └── metadata
│ ├── one-event
│ ├── index
│ │ ├── lttng_jul_channel_0.idx
│ │ ├── lttng_jul_channel_1.idx
│ │ ├── lttng_jul_channel_2.idx
│ │ └── lttng_jul_channel_3.idx
│ ├── lttng_jul_channel_0
│ ├── lttng_jul_channel_1
│ ├── lttng_jul_channel_2
│ ├── lttng_jul_channel_3
│ └── metadata
│ ├── perf-taskset2
│ ├── metadata
│ └── perf_stream_0
│ ├── synctraces
│ ├── scp_dest
│ │ ├── channel0_0
│ │ └── metadata
│ └── scp_src
│ │ ├── channel0_0
│ │ └── metadata
│ ├── trace2
│ ├── channel0_0
│ ├── channel0_1
│ └── metadata
│ └── uneven-streams
│ ├── channel0_0
│ ├── channel0_1
│ ├── channel0_2
│ ├── channel0_3
│ ├── index
│ ├── channel0_0.idx
│ ├── channel0_1.idx
│ ├── channel0_2.idx
│ └── channel0_3.idx
│ └── metadata
└── test
└── java
└── org
└── lttng
└── scope
└── ttt
└── ctf
└── CtfTestTraceTest.java
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | target/
3 | dependency-reduced-pom.xml
4 | README.html
5 | README.dev.html
6 |
7 | # IDE stuff
8 | .classpath
9 | .project
10 | .settings/
11 |
12 | .idea/
13 | *.iml
14 |
--------------------------------------------------------------------------------
/.m2/settings.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 | efficios-releases-repo
6 | ${env.MVN_REPO_USER}
7 | ${env.MVN_REPO_PASS}
8 |
9 |
10 | efficios-snapshots-repo
11 | ${env.MVN_REPO_USER}
12 | ${env.MVN_REPO_PASS}
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/ctfreader/java-only-sources.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ctfreader/java-only-sources.properties
--------------------------------------------------------------------------------
/ctfreader/src/main/java/org/eclipse/tracecompass/ctf/core/event/scope/FieldsScope.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2014 Ericsson
3 | *
4 | * All rights reserved. This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *
9 | * Contributors:
10 | * Matthew Khouzam - Initial API and implementation
11 | *******************************************************************************/
12 |
13 | package org.eclipse.tracecompass.ctf.core.event.scope;
14 |
15 | import org.jetbrains.annotations.Nullable;
16 |
17 | /**
18 | * A lttng specific speedup node field scope of a lexical scope
19 | *
20 | * @author Matthew Khouzam
21 | */
22 | public final class FieldsScope extends LexicalScope {
23 |
24 | /**
25 | * The scope constructor
26 | *
27 | * @param parent
28 | * The parent node, can be null, but shouldn't
29 | * @param name
30 | * the name of the field
31 | */
32 | FieldsScope(ILexicalScope parent, String name) {
33 | super(parent, name);
34 | }
35 |
36 | @Override
37 | public @Nullable ILexicalScope getChild(String name) {
38 | if (name.equals(FIELDS_RET.getName())) {
39 | return FIELDS_RET;
40 | }
41 | if (name.equals(FIELDS_TID.getName())) {
42 | return FIELDS_TID;
43 | }
44 | return super.getChild(name);
45 | }
46 |
47 | }
48 |
--------------------------------------------------------------------------------
/ctfreader/src/main/java/org/eclipse/tracecompass/ctf/core/event/scope/IDefinitionScope.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2011, 2014 Ericsson, Ecole Polytechnique de Montreal and others
3 | *
4 | * All rights reserved. This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *
9 | * Contributors: Matthew Khouzam - Initial API and implementation
10 | * Contributors: Simon Marchi - Initial API and implementation
11 | *******************************************************************************/
12 |
13 | package org.eclipse.tracecompass.ctf.core.event.scope;
14 |
15 | import org.eclipse.tracecompass.ctf.core.event.types.IDefinition;
16 |
17 | /**
18 | * The scope of a CTF definition. Used for compound types.
19 | *
20 | * @version 1.0
21 | * @author Matthew Khouzam
22 | * @author Simon Marchi
23 | */
24 | public interface IDefinitionScope {
25 |
26 | /**
27 | * Gets the path in a C style for the scope.
28 | *
29 | * @return the path
30 | * @since 1.0
31 | */
32 | ILexicalScope getScopePath();
33 |
34 | /**
35 | * Looks up in this definition scope.
36 | *
37 | * @param lookupPath
38 | * The path to look up
39 | * @return The Definition that was read
40 | * @since 1.0
41 | */
42 | IDefinition lookupDefinition(String lookupPath);
43 | }
44 |
--------------------------------------------------------------------------------
/ctfreader/src/main/java/org/eclipse/tracecompass/ctf/core/event/scope/PacketHeaderScope.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2014 Ericsson
3 | *
4 | * All rights reserved. This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *
9 | * Contributors:
10 | * Matthew Khouzam - Initial API and implementation
11 | *******************************************************************************/
12 |
13 | package org.eclipse.tracecompass.ctf.core.event.scope;
14 |
15 | /**
16 | * A lttng specific speedup node (the packet header with magic, uuid and stream
17 | * id ) of a lexical scope the sole reason to have this is to accelerate tostring()
18 | *
19 | * @author Matthew Khouzam
20 | */
21 | public class PacketHeaderScope extends LexicalScope {
22 |
23 | /**
24 | * Constructor
25 | */
26 | public PacketHeaderScope() {
27 | super(PACKET, "header"); //$NON-NLS-1$
28 | }
29 |
30 | @Override
31 | public String getPath() {
32 | return "packet.header"; //$NON-NLS-1$
33 | }
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/ctfreader/src/main/java/org/eclipse/tracecompass/ctf/core/event/types/Encoding.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2011-2014 Ericsson, Ecole Polytechnique de Montreal and others
3 | *
4 | * All rights reserved. This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *
9 | * Contributors: Matthew Khouzam - Initial API and implementation
10 | * Contributors: Simon Marchi - Initial API and implementation
11 | *******************************************************************************/
12 |
13 | package org.eclipse.tracecompass.ctf.core.event.types;
14 |
15 | /**
16 | * CTF encoding types
17 | *
18 | * @version 1.0
19 | * @author Matthew Khouzam
20 | * @author Simon Marchi
21 | */
22 | public enum Encoding {
23 | /** UTF-8 encoding */
24 | UTF8,
25 | /** Ascii encoding */
26 | ASCII,
27 | /** No encoding, maybe not even text */
28 | NONE
29 | }
30 |
--------------------------------------------------------------------------------
/ctfreader/src/main/java/org/eclipse/tracecompass/ctf/core/event/types/ICompositeDefinition.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2014 Ericsson
3 | *
4 | * All rights reserved. This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *
9 | * Contributors:
10 | * Matthew Khouzam - Initial API and implementation
11 | *******************************************************************************/
12 |
13 | package org.eclipse.tracecompass.ctf.core.event.types;
14 |
15 | import java.util.List;
16 |
17 | /**
18 | * Interface for data definitions containing heterogenous definitions
19 | * (subfields)
20 | *
21 | * @author Matthew Khouzam
22 | */
23 | public interface ICompositeDefinition extends IDefinition {
24 |
25 | /**
26 | * Gets the definition of the field
27 | *
28 | * @param fieldName
29 | * the fieldname
30 | * @return The definitions of all the fields
31 | */
32 | Definition getDefinition(String fieldName);
33 |
34 | /**
35 | * Gets an array of the field names
36 | *
37 | * @return the field names array
38 | */
39 | List getFieldNames();
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/ctfreader/src/main/java/org/eclipse/tracecompass/ctf/core/event/types/IDefinition.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2014 Ericsson
3 | *
4 | * All rights reserved. This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *
9 | * Contributors:
10 | * Matthew Khouzam - Initial API and implementation
11 | *******************************************************************************/
12 |
13 | package org.eclipse.tracecompass.ctf.core.event.types;
14 |
15 | import org.eclipse.tracecompass.ctf.core.event.scope.ILexicalScope;
16 |
17 | /**
18 | * Interface for data definitions. A definition is when a value is given to a
19 | * declaration
20 | *
21 | * @author Matthew Khouzam
22 | */
23 | public interface IDefinition {
24 |
25 | /**
26 | * Get the complete path of this field.
27 | *
28 | * @return The path
29 | * @since 1.0
30 | */
31 | ILexicalScope getScopePath();
32 |
33 | /**
34 | * Get the declaration of this definition
35 | *
36 | * @return the declaration of a datatype
37 | */
38 | IDeclaration getDeclaration();
39 |
40 | }
--------------------------------------------------------------------------------
/ctfreader/src/main/java/org/eclipse/tracecompass/ctf/core/event/types/IEventHeaderDeclaration.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2014 Ericsson
3 | *
4 | * All rights reserved. This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *
9 | * Contributors:
10 | * Matthew Khouzam - Initial API and implementation
11 | *******************************************************************************/
12 |
13 | package org.eclipse.tracecompass.ctf.core.event.types;
14 |
15 | /**
16 | * Event header declaration abstract class
17 | *
18 | * @author Matthew Khouzam
19 | */
20 | public interface IEventHeaderDeclaration extends IDeclaration {
21 | /**
22 | * The id of an event
23 | */
24 | String ID = "id"; //$NON-NLS-1$
25 | /**
26 | * The name of a timestamp field
27 | */
28 | String TIMESTAMP = "timestamp"; //$NON-NLS-1$
29 | /**
30 | * Extended header
31 | */
32 | String EXTENDED = "extended"; //$NON-NLS-1$
33 | /**
34 | * Compact header (not to be confused with compact vs large)
35 | */
36 | String COMPACT = "compact"; //$NON-NLS-1$
37 | /**
38 | * Name of the variant according to the spec
39 | */
40 | String VARIANT_NAME = "v"; //$NON-NLS-1$
41 | }
42 |
--------------------------------------------------------------------------------
/ctfreader/src/main/java/org/eclipse/tracecompass/ctf/core/event/types/ISimpleDatatypeDeclaration.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2014 Ericsson
3 | *
4 | * All rights reserved. This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *
9 | * Contributors:
10 | * Matthew Khouzam - Initial API and implementation
11 | *******************************************************************************/
12 |
13 | package org.eclipse.tracecompass.ctf.core.event.types;
14 |
15 | import java.nio.ByteOrder;
16 |
17 | /**
18 | * Common interface for simple CTF data types (which do not contain sub-fields).
19 | *
20 | * @author Matthew Khouzam
21 | */
22 | public interface ISimpleDatatypeDeclaration {
23 |
24 | /**
25 | * Is the byte order set
26 | *
27 | * @return If the byte order was set
28 | * @since 2.0
29 | */
30 | public boolean isByteOrderSet();
31 |
32 | /**
33 | * Get the byte order
34 | *
35 | * @return the byte order, or @link {@link ByteOrder#nativeOrder()} if not
36 | * set
37 | * @since 2.0
38 | */
39 | public ByteOrder getByteOrder();
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/ctfreader/src/main/java/org/eclipse/tracecompass/ctf/core/trace/CTFResponse.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2014 Ericsson
3 | *
4 | * All rights reserved. This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *
9 | * Contributors: Matthew Khouzam - Initial API and implementation
10 | *******************************************************************************/
11 | package org.eclipse.tracecompass.ctf.core.trace;
12 |
13 | /**
14 | * A response to a request
15 | *
16 | * @author Matthew Khouzam
17 | */
18 | public enum CTFResponse {
19 | /**
20 | * The operation was successful
21 | */
22 | OK,
23 | /**
24 | * The operation cannot be yet completed
25 | */
26 | WAIT,
27 | /**
28 | * The operation was finished
29 | */
30 | FINISH,
31 | /**
32 | * The operation failed
33 | */
34 | ERROR
35 | }
36 |
--------------------------------------------------------------------------------
/ctfreader/src/main/java/org/eclipse/tracecompass/ctf/core/trace/CTFStreamPacketOutputWriter.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2015 Ericsson
3 | *
4 | * All rights reserved. This program and the accompanying materials are made
5 | * available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *
9 | * Contributors:
10 | * Bernd Hufmann - Initial API and implementation
11 | *******************************************************************************/
12 | package org.eclipse.tracecompass.ctf.core.trace;
13 |
14 | import java.io.IOException;
15 | import java.nio.ByteBuffer;
16 | import java.nio.channels.FileChannel;
17 |
18 | /**
19 | * CTF trace packet writer.
20 | *
21 | * @author Bernd Hufmann
22 | * @since 1.0
23 | */
24 | public class CTFStreamPacketOutputWriter {
25 |
26 | /**
27 | * Writes a stream packet to the output file channel based on the packet
28 | * descriptor information.
29 | *
30 | * @param byteBuffer
31 | * a byte buffer with packet to write
32 | * @param fc
33 | * a file channel
34 | * @throws IOException
35 | * if a reading or writing error occurs
36 | */
37 | public void writePacket(ByteBuffer byteBuffer, FileChannel fc) throws IOException {
38 | fc.write(byteBuffer);
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/ctfreader/src/main/java/org/eclipse/tracecompass/internal/ctf/core/event/metadata/Messages.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013, 2015 Ericsson
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * Marc-Andre Laperle - Initial API and implementation
10 | *******************************************************************************/
11 |
12 | package org.eclipse.tracecompass.internal.ctf.core.event.metadata;
13 |
14 | @SuppressWarnings({ "javadoc", "nls" })
15 | public final class Messages {
16 |
17 | public static String IOStructGen_UnknownTraceAttributeWarning = "Unknown trace attribute:";
18 | public static String IOStructGen_UnknownStreamAttributeWarning = "Unknown stream attribute:";
19 | public static String IOStructGen_UnknownIntegerAttributeWarning = "nknown integer attribute:";
20 |
21 | private Messages() {
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/ctfreader/src/main/java/org/eclipse/tracecompass/internal/ctf/core/event/metadata/tsdl/integer/ClockMapParser.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2015 Ericsson
3 | *
4 | * All rights reserved. This program and the accompanying materials
5 | * are made available under the terms of the Eclipse Public License v1.0
6 | * which accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.eclipse.tracecompass.internal.ctf.core.event.metadata.tsdl.integer;
11 |
12 | import org.antlr.runtime.tree.CommonTree;
13 | import org.eclipse.tracecompass.internal.ctf.core.event.metadata.ICommonTreeParser;
14 | import org.jetbrains.annotations.NotNull;
15 |
16 | /**
17 | * A reference to the clock map in a given integer.
18 | *
19 | * @author Matthew Khouzam
20 | *
21 | */
22 | public final class ClockMapParser implements ICommonTreeParser {
23 |
24 | private static final @NotNull String EMPTY_STRING = ""; //$NON-NLS-1$
25 |
26 | /**
27 | * Instance
28 | */
29 | public static final ClockMapParser INSTANCE = new ClockMapParser();
30 |
31 | private ClockMapParser() {
32 | }
33 |
34 | @Override
35 | public String parse(CommonTree tree, ICommonTreeParserParameter param) {
36 | String clock = tree.getChild(1).getChild(0).getChild(0).getText();
37 | return clock == null ? EMPTY_STRING : clock;
38 | }
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/ctfreader/src/test/java/org/eclipse/tracecompass/ctf/core/tests/io/Util.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2014 Ericsson
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * Matthew Khouzam - Initial API and implementation
10 | ******************************************************************************/
11 |
12 | package org.eclipse.tracecompass.ctf.core.tests.io;
13 |
14 | import org.jetbrains.annotations.NotNull;
15 |
16 | import java.nio.ByteBuffer;
17 |
18 | /**
19 | * Helpers for the tests
20 | *
21 | * @author Matthew Khouzam
22 | */
23 | public final class Util {
24 |
25 | private Util() {
26 | }
27 |
28 | /**
29 | * Wrapper to make sure the bytebuffer is not null
30 | *
31 | * @param buffer
32 | * a potentially null byte buffer
33 | * @return a non-null byte buffer or an illegal state exception
34 | */
35 | public static @NotNull ByteBuffer testMemory(ByteBuffer buffer) {
36 | if (buffer == null) {
37 | throw new IllegalStateException("Failed to alloc");
38 | }
39 | return buffer;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/jabberwockd/kotlin-only-sources.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/jabberwockd/kotlin-only-sources.properties
--------------------------------------------------------------------------------
/jabberwockd/mixed-java-kotlin-sources.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/jabberwockd/mixed-java-kotlin-sources.properties
--------------------------------------------------------------------------------
/jabberwockd/src/main/kotlin/com/efficios/jabberwocky/jabberwockd/HttpConstants.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.jabberwockd
11 |
12 | object HttpConstants {
13 |
14 | object Methods {
15 | const val GET = "GET"
16 | const val PUT = "PUT"
17 | const val DELETE = "DELETE"
18 | }
19 |
20 | object ReturnCodes {
21 | /** Success */
22 | const val R_200 = 200
23 | /** Success, resulted in resource creation */
24 | const val R_201 = 201
25 |
26 | /** Requested resource not found */
27 | const val R_404 = 404
28 | /** Operation not allowed (i.e. deleting a read-only resource) */
29 | const val R_405 = 405
30 | }
31 |
32 | }
--------------------------------------------------------------------------------
/jabberwockd/src/main/kotlin/com/efficios/jabberwocky/jabberwockd/JabberwockDaemon.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | @file:JvmName("JabberwockDaemon")
11 |
12 | package com.efficios.jabberwocky.jabberwockd;
13 |
14 | import com.efficios.jabberwocky.jabberwockd.handlers.DebugHandler
15 | import com.sun.net.httpserver.HttpServer
16 | import java.net.InetSocketAddress
17 |
18 | const val LISTENING_PORT = 8000
19 | const val BASE_URL = ""
20 |
21 | /**
22 | * Trace analysis server daemon.
23 | *
24 | * @author Alexandre Montplaisir
25 | */
26 | fun main(args: Array) {
27 |
28 | val server = HttpServer.create(InetSocketAddress(LISTENING_PORT), 0)
29 | server.createContext("/test", DebugHandler())
30 | server.executor = null; // creates a default executor
31 | server.start();
32 |
33 | println("Server started, listening on port $LISTENING_PORT")
34 | }
35 |
--------------------------------------------------------------------------------
/jabberwocky-core-test-base/kotlin-only-sources.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/jabberwocky-core-test-base/kotlin-only-sources.properties
--------------------------------------------------------------------------------
/jabberwocky-core-test-base/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 | 4.0.0
13 |
14 |
15 | org.lttng.scope
16 | lttng-scope-master
17 | 0.5.0-SNAPSHOT
18 |
19 |
20 | jabberwocky-core-test-base
21 | jar
22 |
23 | Jabberwocky Trace Analysis Library Common Tests Package
24 |
25 |
26 |
27 | org.lttng.scope
28 | jabberwocky-core
29 |
30 |
31 |
32 | org.junit.jupiter
33 | junit-jupiter-api
34 |
35 | compile
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/jabberwocky-core-test-base/src/main/kotlin/com/efficios/jabberwocky/tests/JavaFXTestBase.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.tests
11 |
12 | import javafx.embed.swing.JFXPanel
13 |
14 | /**
15 | * Test-runner that will make sure JavaFX is initialized. Have your test class
16 | * extend this if you get "Toolkit not initialized" errors.
17 | */
18 | abstract class JavaFXTestBase {
19 |
20 | init {
21 | JFXPanel()
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/jabberwocky-core-test-base/src/test/kotlin/com/efficios/jabberwocky/trace/TraceIteratorTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.trace
11 |
12 | class TraceIteratorTest : TraceIteratorTestBase() {
13 |
14 | override val trace = TraceStubs.TraceStub3()
15 |
16 | override val event1 = trace.events[0]
17 | override val event2 = trace.events[1]
18 | override val event3 = trace.events[2]
19 | override val timestampBetween1and2 = 101L
20 |
21 | override val lastEvent = trace.events.last()
22 | override val timestampAfterEnd = 210L
23 |
24 | override val middleEvent = trace.events[25]
25 | override val middleEventPosition = 25
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/jabberwocky-core-test-base/src/test/kotlin/com/efficios/jabberwocky/trace/TraceTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.trace
11 |
12 | import com.efficios.jabberwocky.trace.event.TraceEvent
13 | import org.junit.jupiter.api.Assertions.assertEquals
14 | import org.junit.jupiter.params.ParameterizedTest
15 | import org.junit.jupiter.params.provider.Arguments
16 | import org.junit.jupiter.params.provider.MethodSource
17 |
18 | class TraceTest {
19 |
20 | companion object {
21 | @JvmStatic
22 | private fun getTestTraces() = listOf(
23 | Arguments.of(TraceStubs.TraceStub1(), 2L, 10L),
24 | Arguments.of(TraceStubs.TraceStub2(), 4L, 8L)
25 | )
26 | }
27 |
28 | @ParameterizedTest
29 | @MethodSource("getTestTraces")
30 | fun testStartTime(testTrace: Trace,
31 | expectedStart: Long,
32 | expectedEnd: Long) {
33 | assertEquals(expectedStart, testTrace.startTime)
34 | }
35 |
36 | @ParameterizedTest
37 | @MethodSource("getTestTraces")
38 | fun testEndTime(testTrace: Trace,
39 | expectedStart: Long,
40 | expectedEnd: Long) {
41 | assertEquals(expectedEnd, testTrace.endTime)
42 | }
43 | }
--------------------------------------------------------------------------------
/jabberwocky-core/mixed-java-kotlin-sources.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/jabberwocky-core/mixed-java-kotlin-sources.properties
--------------------------------------------------------------------------------
/jabberwocky-core/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 | 4.0.0
13 |
14 |
15 | org.lttng.scope
16 | lttng-scope-master
17 | 0.5.0-SNAPSHOT
18 |
19 |
20 | jabberwocky-core
21 | jar
22 |
23 | Jabberwocky Trace Analysis Library
24 |
25 |
26 |
27 | com.google.guava
28 | guava
29 |
30 |
31 |
32 | com.google.code.gson
33 | gson
34 |
35 |
36 |
37 | org.lttng.scope
38 | libdelorean
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/java/com/efficios/jabberwocky/views/timegraph/model/provider/ITimeGraphModelProviderFactory.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.views.timegraph.model.provider;
11 |
12 | import java.util.function.Supplier;
13 |
14 | /**
15 | * Factory for {@link ITimeGraphModelProvider} objects.
16 | *
17 | * Used to register possible time graphs to the framework using the
18 | * {@link TimeGraphModelProviderManager}.
19 | *
20 | * @author Alexandre Montplaisir
21 | */
22 | @FunctionalInterface
23 | public interface ITimeGraphModelProviderFactory extends Supplier {
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/java/com/efficios/jabberwocky/views/timegraph/model/render/LineThickness.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.views.timegraph.model.render;
11 |
12 | /**
13 | * Headless definitions of possible values of state interval line thicknesses
14 | */
15 | public enum LineThickness {
16 |
17 | /** Normal, full thickness */
18 | NORMAL,
19 | /**
20 | * Small thickness, should be between {@link #NORMAL} and {@link #TINY} and
21 | * distinguishable from those two.
22 | */
23 | SMALL,
24 | /**
25 | * Tiny line thickness. The line should be as small as possible but still
26 | * have the color distinguishable.
27 | */
28 | TINY
29 |
30 | }
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/java/com/efficios/jabberwocky/views/timegraph/view/json/TimeGraphJsonOutput.java:
--------------------------------------------------------------------------------
1 | package com.efficios.jabberwocky.views.timegraph.view.json;
2 |
3 | import java.util.List;
4 |
5 | import com.efficios.jabberwocky.views.timegraph.control.TimeGraphModelControl;
6 | import com.efficios.jabberwocky.views.timegraph.model.provider.ITimeGraphModelProvider;
7 | import com.efficios.jabberwocky.views.timegraph.model.render.states.TimeGraphStateRender;
8 | import com.efficios.jabberwocky.views.timegraph.model.render.tree.TimeGraphTreeRender;
9 | import com.efficios.jabberwocky.views.timegraph.view.TimeGraphModelView;
10 |
11 | import com.efficios.jabberwocky.common.TimeRange;
12 |
13 | public class TimeGraphJsonOutput extends TimeGraphModelView {
14 |
15 | public TimeGraphJsonOutput(TimeGraphModelControl control) {
16 | super(control);
17 | }
18 |
19 | @Override
20 | public void disposeImpl() {
21 | }
22 |
23 | @Override
24 | public void clear() {
25 | // TODO
26 | }
27 |
28 | @Override
29 | public void seekVisibleRange(TimeRange newVisibleRange) {
30 | /* Generate JSON for the visible area */
31 | ITimeGraphModelProvider provider = getControl().getRenderProvider();
32 |
33 | TimeGraphTreeRender treeRender = provider.getTreeRender();
34 | List stateRenders = provider.getStateProvider().getAllStateRenders(treeRender,
35 | newVisibleRange, 1, null);
36 |
37 | RenderToJson.printRenderTo(stateRenders);
38 | }
39 |
40 | @Override
41 | public void drawSelection(TimeRange selectionRange) {
42 | // TODO NYI
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/analysis/eventstats/EventStatsXYChartProvider.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.analysis.eventstats
11 |
12 | import ca.polymtl.dorsal.libdelorean.statevalue.IntegerStateValue
13 | import com.efficios.jabberwocky.common.TimeRange
14 | import com.efficios.jabberwocky.views.common.FlatUIColors
15 | import com.efficios.jabberwocky.views.xychart.model.provider.statesystem.StateSystemXYChartProvider
16 | import com.efficios.jabberwocky.views.xychart.model.render.XYChartRender
17 | import com.efficios.jabberwocky.views.xychart.model.render.XYChartSeries
18 | import java.util.concurrent.FutureTask
19 | import javax.management.AttributeNotFoundException
20 |
21 | class EventStatsXYChartProvider: StateSystemXYChartProvider(NAME, EventStatsAnalysis) {
22 |
23 | companion object {
24 | private const val NAME = "Event count"
25 | }
26 |
27 | init {
28 | registerSeries(EventStatsTotalsSeriesProvider(this))
29 | }
30 | }
31 |
32 |
33 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/collection/BaseTraceCollectionIterator.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.collection
11 |
12 | import com.efficios.jabberwocky.trace.Trace
13 | import com.efficios.jabberwocky.trace.TraceIterator
14 | import com.efficios.jabberwocky.trace.event.TraceEvent
15 | import com.efficios.jabberwocky.utils.RewindingSortedCompoundIterator
16 | import com.efficios.jabberwocky.utils.SortedCompoundIterator
17 | import java.util.*
18 |
19 | class BaseTraceCollectionIterator (traceCollection: TraceCollection>) :
20 | RewindingSortedCompoundIterator>(traceCollection.traces.map { it.iterator() }, compareBy { event -> event.timestamp }),
21 | TraceCollectionIterator {
22 |
23 | override fun seek(timestamp: Long) {
24 | iterators.forEach { it.seek(timestamp) }
25 | clearCaches()
26 | }
27 |
28 | override fun close() {
29 | iterators.forEach { it.close() }
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/collection/TraceCollection.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.collection
11 |
12 | import com.efficios.jabberwocky.trace.Trace
13 | import com.efficios.jabberwocky.trace.event.TraceEvent
14 |
15 | class TraceCollection>(val traces: Collection) {
16 |
17 | fun iterator(): TraceCollectionIterator {
18 | return BaseTraceCollectionIterator(this)
19 | }
20 |
21 | }
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/collection/TraceCollectionIterator.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.collection
11 |
12 | import com.efficios.jabberwocky.trace.event.TraceEvent
13 | import com.efficios.jabberwocky.utils.RewindingIterator
14 |
15 | interface TraceCollectionIterator : RewindingIterator, AutoCloseable {
16 |
17 | /** Seek this iterator to the given timestamp for all traces. */
18 | fun seek(timestamp: Long)
19 |
20 | /** Overridden to explicitly not throw any exception. */
21 | override fun close()
22 | }
23 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/common/ConfigOption.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.common
11 |
12 | import javafx.beans.property.SimpleObjectProperty
13 |
14 | class ConfigOption(val defaultValue: T) : SimpleObjectProperty(defaultValue) {
15 |
16 | fun resetToDefault() = set(defaultValue)
17 |
18 | }
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/project/BaseTraceProjectIterator.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.project
11 |
12 | import com.efficios.jabberwocky.collection.TraceCollectionIterator
13 | import com.efficios.jabberwocky.trace.Trace
14 | import com.efficios.jabberwocky.trace.event.TraceEvent
15 | import com.efficios.jabberwocky.utils.RewindingSortedCompoundIterator
16 | import com.efficios.jabberwocky.utils.SortedCompoundIterator
17 |
18 | class BaseTraceProjectIterator(project: TraceProject>) :
19 | RewindingSortedCompoundIterator>(project.traceCollections.map { it.iterator() }, compareBy { event -> event.timestamp }),
20 | TraceProjectIterator {
21 |
22 | override fun seek(timestamp: Long) {
23 | iterators.forEach { it.seek(timestamp) }
24 | clearCaches()
25 | }
26 |
27 | override fun close() {
28 | iterators.forEach { it.close() }
29 | }
30 |
31 | }
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/project/TraceProjectIterator.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.project
11 |
12 | import com.efficios.jabberwocky.trace.event.TraceEvent
13 | import com.efficios.jabberwocky.utils.RewindingIterator
14 |
15 | interface TraceProjectIterator : RewindingIterator, AutoCloseable {
16 |
17 | fun seek(timestamp: Long)
18 |
19 | /** Overridden to explicitly not throw any exception. */
20 | override fun close()
21 | }
22 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/trace/Trace.kt:
--------------------------------------------------------------------------------
1 | package com.efficios.jabberwocky.trace
2 |
3 | import com.efficios.jabberwocky.trace.event.TraceEvent
4 | import com.google.common.collect.Iterators
5 |
6 | abstract class Trace {
7 |
8 | abstract val name: String
9 |
10 | /* Lazy-load the start time by reading the timestamp of the first event. */
11 | val startTime: Long by lazy {
12 | var startTime: Long = 0L
13 | iterator().use { iter ->
14 | if (iter.hasNext()) {
15 | startTime = iter.next().timestamp
16 | }
17 | }
18 | startTime
19 | }
20 |
21 | val endTime: Long by lazy {
22 | var endTime: Long = 0L
23 | iterator().use {
24 | if (it.hasNext()) {
25 | endTime = Iterators.getLast(it).timestamp
26 | }
27 | }
28 | endTime
29 | }
30 |
31 | abstract fun iterator(): TraceIterator
32 | }
33 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/trace/TraceInitializationException.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.trace
11 |
12 | class TraceInitializationException : Exception {
13 |
14 | companion object {
15 | private val serialVersionUID = 3507492056815877150L
16 | }
17 |
18 | constructor() : super() {}
19 |
20 | constructor(message: String) : super(message) {}
21 |
22 | constructor(e: Throwable) : super(e) {}
23 |
24 |
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/trace/TraceIterator.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.trace
11 |
12 | import com.efficios.jabberwocky.trace.event.TraceEvent
13 | import com.efficios.jabberwocky.utils.RewindingIterator
14 |
15 | interface TraceIterator : RewindingIterator, AutoCloseable {
16 |
17 | /**
18 | * Bring this iterator to the first event with the given timestamp.
19 | * Note there might be more than one event at this timestamp!
20 | */
21 | fun seek(timestamp: Long)
22 |
23 | /** Return a new iterator at the exact same position as this one. */
24 | fun copy(): TraceIterator
25 |
26 | /**
27 | * Close this iterator.
28 | * Overridden to not throw any exception.
29 | */
30 | override fun close()
31 | }
32 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/trace/TraceIteratorPosition.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.trace
11 |
12 | import com.efficios.jabberwocky.trace.event.TraceEvent
13 |
14 | class TraceIteratorPosition> private constructor(private val sourceIterator: I) : AutoCloseable {
15 |
16 | companion object {
17 | /* Generate a position from an iterator's current position */
18 | fun > of(iterator: TraceIterator) = TraceIteratorPosition(iterator.copy())
19 | }
20 |
21 | /** Instantiate a new iterator at this position */
22 | fun newIterator() = sourceIterator.copy()
23 |
24 | /** Since the position is backed by its own iterator, it needs to be close()'d too, unfortunately. */
25 | override fun close() = sourceIterator.close()
26 | }
27 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/trace/event/TraceEvent.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.trace.event
11 |
12 | import com.efficios.jabberwocky.trace.Trace
13 |
14 | interface TraceEvent {
15 |
16 | val trace: Trace
17 |
18 | val timestamp: Long
19 |
20 | val cpu: Int
21 |
22 | val eventName: String
23 |
24 | val fields: Map
25 |
26 | val attributes: Map
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/trace/event/TraceLostEvent.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.trace.event
11 |
12 | import com.efficios.jabberwocky.common.TimeRange
13 |
14 | interface TraceLostEvent : TraceEvent {
15 |
16 | val timeRange: TimeRange
17 |
18 | val nbLostEvents: Long
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/utils/RewindingIterator.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.utils
11 |
12 | /**
13 | * Extension of the [Iterator] interface which supports going backwards, using [previous()]
14 | * and [hasPrevious()] functions.
15 | *
16 | * Unlike ListIterator it does not track its current index, since the iterated data structure
17 | * could be larger than Int.MAX_VALUE.
18 | */
19 | interface RewindingIterator : Iterator {
20 |
21 | fun hasPrevious(): Boolean
22 |
23 | fun previous(): E
24 |
25 | }
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/utils/UsingResources.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.utils
11 |
12 | /**
13 | * Pseudo-try-with-resources. Taken from https://discuss.kotlinlang.org/t/kotlin-needs-try-with-resources/214/2
14 | *
15 | * Usage:
16 | *
17 | * using {
18 | * val closeable1 = MyObject1().autoClose()
19 | * val closeable2 = MyObject2().autoClose()
20 | * ...
21 | * }
22 | *
23 | * All variables declared with `.autoClose()` will be `close()`'d upon exiting the `using{}` block.
24 | */
25 |
26 | class ResourceHolder : AutoCloseable {
27 |
28 | private val resources = arrayListOf()
29 |
30 | fun T.autoClose(): T {
31 | resources.add(this)
32 | return this
33 | }
34 |
35 | override fun close() {
36 | resources.reversed().forEach { it.close() }
37 | }
38 | }
39 |
40 |
41 | fun using(block: ResourceHolder.() -> R): R {
42 | val holder = ResourceHolder()
43 | try {
44 | return holder.block()
45 | } finally {
46 | holder.close()
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/views/common/ColorDefinition.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.views.common
11 |
12 |
13 | data class ColorDefinition @JvmOverloads constructor(val red: Int,
14 | val green: Int,
15 | val blue: Int,
16 | val alpha: Int = ColorDefinition.MAX) {
17 |
18 | companion object {
19 | const val MIN = 0
20 | const val MAX = 255
21 |
22 | private fun checkValue(param: Int) {
23 | if (param < MIN || param > MAX) throw IllegalArgumentException()
24 | }
25 | }
26 |
27 | init {
28 | checkValue(red)
29 | checkValue(green)
30 | checkValue(blue)
31 | checkValue(alpha)
32 | }
33 | }
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/views/common/EventSymbolStyle.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.views.common
11 |
12 | /**
13 | * Symbol that can be used to represent single events.
14 | *
15 | * They are defined outside of any specific view, so that multiple views can use the same symbol
16 | * for the same event definition.
17 | */
18 | enum class EventSymbolStyle {
19 | CIRCLE,
20 | CROSS,
21 | STAR,
22 | SQUARE,
23 | DIAMOND,
24 | TRIANGLE;
25 | }
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/views/timegraph/model/render/states/TimeGraphStateRender.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.views.timegraph.model.render.states
11 |
12 | import com.efficios.jabberwocky.common.TimeRange
13 | import com.efficios.jabberwocky.views.timegraph.model.render.tree.TimeGraphTreeElement
14 |
15 | /**
16 | * "Segment" of a time graph, representing the states of a single tree element
17 | * for a given time range.
18 | *
19 | * @author Alexandre Montplaisir
20 | */
21 | data class TimeGraphStateRender(val timeRange: TimeRange,
22 | val treeElement: TimeGraphTreeElement,
23 | val stateIntervals: List) {
24 |
25 | companion object {
26 | /** Non-null reference to a dummy/empty render */
27 | @JvmField
28 | val EMPTY_RENDER = TimeGraphStateRender(TimeRange.of(0, 0), TimeGraphTreeElement.DUMMY_ELEMENT, emptyList());
29 | }
30 |
31 | }
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/views/xychart/model/provider/statesystem/StateSystemXYChartSeriesProvider.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.views.xychart.model.provider.statesystem
11 |
12 | import com.efficios.jabberwocky.views.xychart.model.provider.XYChartSeriesProvider
13 | import com.efficios.jabberwocky.views.xychart.model.render.XYChartSeries
14 |
15 | abstract class StateSystemXYChartSeriesProvider(series: XYChartSeries,
16 | protected val modelProvider: StateSystemXYChartProvider) : XYChartSeriesProvider(series)
17 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/views/xychart/model/render/XYChartRender.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.views.xychart.model.render
11 |
12 | import com.efficios.jabberwocky.common.TimeRange
13 | import com.efficios.jabberwocky.views.common.ColorDefinition
14 |
15 | /**
16 | * "Render" of a XY chart, containing all the relevant data points for a given
17 | * series, for a given time range.
18 | */
19 | data class XYChartRender(val series: XYChartSeries,
20 | val range: TimeRange,
21 | val resolutionX: Long,
22 | val data: List) {
23 |
24 | companion object {
25 | val EMPTY_RENDER = XYChartRender(
26 | XYChartSeries("dummy", ColorDefinition(0, 0, 0), XYChartSeries.LineStyle.FULL),
27 | TimeRange.of(0, 0),
28 | 0L,
29 | emptyList())
30 | }
31 |
32 | data class DataPoint(val x: Long, val y: Long)
33 | }
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/views/xychart/model/render/XYChartSeries.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.views.xychart.model.render
11 |
12 | import com.efficios.jabberwocky.views.common.ColorDefinition
13 |
14 | /**
15 | * Definition of a single series of an XY-Chart.
16 | */
17 | data class XYChartSeries(val name: String,
18 | val color: ColorDefinition,
19 | val lineStyle: LineStyle,
20 | val symbolStyle: SymbolStyle = XYChartSeries.SymbolStyle.NONE) {
21 |
22 | enum class LineStyle {
23 | /** Standard line */
24 | FULL,
25 | /** Dotted line */
26 | DOTTED,
27 | /** Color the line and the area under it */
28 | INTEGRAL
29 | }
30 |
31 | enum class SymbolStyle {
32 | // TODO NYI, we only use lines for now
33 | NONE
34 | }
35 |
36 | }
--------------------------------------------------------------------------------
/jabberwocky-core/src/main/kotlin/com/efficios/jabberwocky/views/xychart/view/XYChartView.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.views.xychart.view
11 |
12 | import com.efficios.jabberwocky.common.TimeRange
13 | import com.efficios.jabberwocky.views.xychart.control.XYChartControl
14 |
15 | interface XYChartView {
16 |
17 | val control: XYChartControl
18 |
19 | val viewContext get() = control.viewContext
20 |
21 | fun dispose()
22 | fun clear()
23 | fun seekVisibleRange(newVisibleRange: TimeRange)
24 | fun drawSelection(selectionRange: TimeRange)
25 | }
26 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/test/kotlin/com/efficios/jabberwocky/utils/SortedCompoundIteratorTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.utils
11 |
12 | import java.util.*
13 |
14 | /**
15 | * Tests for the [SortedCompoundIterator].
16 | */
17 | class SortedCompoundIteratorTest : SortedCompoundIteratorTestBase() {
18 |
19 | override fun provideCompoundIterator(iterators: Collection>, comparator: Comparator): Iterator {
20 | return SortedCompoundIterator(iterators, comparator)
21 | }
22 |
23 |
24 | }
--------------------------------------------------------------------------------
/jabberwocky-core/src/test/kotlin/com/efficios/jabberwocky/views/common/ColorDefinitionTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.views.common
11 |
12 | import org.junit.jupiter.api.Test
13 | import org.junit.jupiter.api.assertThrows
14 |
15 | class ColorDefinitionTest {
16 |
17 | @Test
18 | fun testValid() {
19 | ColorDefinition( 0, 0 , 0)
20 | ColorDefinition(128, 128, 128)
21 | ColorDefinition(255, 255, 255)
22 |
23 | ColorDefinition( 0, 0, 0, 0)
24 | ColorDefinition(128, 128, 128, 128)
25 | ColorDefinition(255, 255, 255, 255)
26 | }
27 |
28 | @Test
29 | fun testInvalid1() {
30 | assertThrows { ColorDefinition(-1, 0, 0, 0) }
31 | }
32 |
33 | @Test
34 | fun testInvalid2() {
35 | assertThrows { ColorDefinition(0, 0, 500, 0) }
36 | }
37 | }
--------------------------------------------------------------------------------
/jabberwocky-core/src/test/kotlin/com/efficios/jabberwocky/views/xychart/model/provider/XYChartSeriesProviderStub.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.views.xychart.model.provider
11 |
12 | import com.efficios.jabberwocky.views.common.FlatUIColors
13 | import com.efficios.jabberwocky.views.xychart.model.render.XYChartRender
14 | import com.efficios.jabberwocky.views.xychart.model.render.XYChartSeries
15 | import java.util.concurrent.FutureTask
16 |
17 | class XYChartSeriesProviderStub : XYChartSeriesProvider(SERIES) {
18 |
19 | companion object {
20 | val SERIES = XYChartSeries("test-series", FlatUIColors.BLUE, XYChartSeries.LineStyle.FULL)
21 | }
22 |
23 | override fun fillSeriesRender(timestamps: List, task: FutureTask<*>?): List? {
24 | TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/jabberwocky-core/src/test/kotlin/com/efficios/jabberwocky/views/xychart/model/provider/XYChartSeriesProviderTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.views.xychart.model.provider
11 |
12 | class XYChartSeriesProviderTest {
13 | }
14 |
--------------------------------------------------------------------------------
/jabberwocky-ctf/kotlin-only-sources.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/jabberwocky-ctf/kotlin-only-sources.properties
--------------------------------------------------------------------------------
/jabberwocky-ctf/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 | 4.0.0
13 |
14 |
15 | org.lttng.scope
16 | lttng-scope-master
17 | 0.5.0-SNAPSHOT
18 |
19 |
20 | jabberwocky-ctf
21 | jar
22 |
23 | Common Trace Format (CTF) Support for Jabberwocky
24 |
25 |
26 |
27 | org.lttng.scope
28 | ctfreader
29 |
30 |
31 |
32 | org.lttng.scope
33 | jabberwocky-core
34 |
35 |
36 |
37 | org.lttng.scope
38 | jabberwocky-core-test-base
39 |
40 |
41 |
42 | org.lttng.scope
43 | ttt
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/jabberwocky-ctf/src/main/kotlin/com/efficios/jabberwocky/ctf/trace/CtfTrace.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.ctf.trace
11 |
12 | import com.efficios.jabberwocky.ctf.trace.event.CtfTraceEvent
13 | import com.efficios.jabberwocky.ctf.trace.event.CtfTraceEventFactory
14 | import com.efficios.jabberwocky.trace.Trace
15 | import com.efficios.jabberwocky.trace.TraceInitializationException
16 | import org.eclipse.tracecompass.ctf.core.CTFException
17 | import org.eclipse.tracecompass.ctf.core.trace.CTFTrace
18 | import java.nio.file.Path
19 |
20 | class CtfTrace(val tracePath: Path) : Trace() {
21 |
22 | internal val innerTrace: CTFTrace = try {
23 | CTFTrace(tracePath.toFile())
24 | } catch (e: CTFException) {
25 | throw TraceInitializationException(e)
26 | }
27 |
28 | override val name = tracePath.fileName.toString()
29 |
30 | override fun iterator(): CtfTraceIterator {
31 | return CtfTraceIterator(this)
32 | }
33 |
34 | val eventFactory = CtfTraceEventFactory(this)
35 |
36 | val environment: Map = innerTrace.environment
37 | }
38 |
--------------------------------------------------------------------------------
/jabberwocky-ctf/src/main/kotlin/com/efficios/jabberwocky/ctf/trace/CtfTraceUtils.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.ctf.trace
11 |
12 | import com.efficios.jabberwocky.ctf.trace.event.CtfTraceEvent
13 | import com.google.common.primitives.Ints
14 |
15 | fun CtfTrace.getTracerName(): String? {
16 | /* Remove the "" at the start and end of the string */
17 | return environment["tracer_name"]?.replace("^\"|\"$".toRegex(), "")
18 | }
19 |
20 | fun CtfTrace.getTracerMajorVersion(): Int? {
21 | val str = environment["tracer_major"] ?: return null
22 | return Ints.tryParse(str)
23 | }
24 |
25 | fun CtfTrace.getTracerMinorVersion(): Int? {
26 | val str = environment["tracer_minor"] ?: return null
27 | return Ints.tryParse(str)
28 | }
29 |
--------------------------------------------------------------------------------
/jabberwocky-ctf/src/main/kotlin/com/efficios/jabberwocky/ctf/trace/event/CtfTraceEvent.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.ctf.trace.event
11 |
12 | import com.efficios.jabberwocky.ctf.trace.CtfTrace
13 | import com.efficios.jabberwocky.trace.event.BaseTraceEvent
14 | import com.efficios.jabberwocky.trace.event.FieldValue
15 |
16 | open class CtfTraceEvent(override val trace: CtfTrace,
17 | timestamp: Long,
18 | cpu: Int,
19 | eventName: String,
20 | eventFields: Map,
21 | attributes: Map? = null) : BaseTraceEvent(trace, timestamp, cpu, eventName, eventFields, attributes)
22 |
--------------------------------------------------------------------------------
/jabberwocky-ctf/src/test/kotlin/com/efficios/jabberwocky/ctf/trace/CtfTraceTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.ctf.trace
11 |
12 | import org.junit.jupiter.api.AfterAll
13 | import org.junit.jupiter.api.Assertions.assertEquals
14 | import org.junit.jupiter.api.BeforeAll
15 | import org.junit.jupiter.api.Test
16 | import org.lttng.scope.ttt.ctf.CtfTestTrace
17 |
18 | class CtfTraceTest {
19 |
20 | companion object {
21 | private lateinit var ETT1: ExtractedCtfTestTrace
22 | private lateinit var ETT2: ExtractedCtfTestTrace
23 |
24 | @BeforeAll
25 | @JvmStatic
26 | fun setupClass() {
27 | ETT1 = ExtractedCtfTestTrace(CtfTestTrace.KERNEL)
28 | ETT2 = ExtractedCtfTestTrace(CtfTestTrace.TRACE2)
29 | }
30 |
31 | @AfterAll
32 | @JvmStatic
33 | fun teardownClass() {
34 | ETT1.close()
35 | ETT2.close()
36 | }
37 | }
38 |
39 | @Test
40 | fun testName() {
41 | assertEquals("kernel", ETT1.trace.name)
42 | assertEquals("trace2", ETT2.trace.name)
43 | }
44 |
45 | }
--------------------------------------------------------------------------------
/jabberwocky-ctf/src/test/kotlin/com/efficios/jabberwocky/ctf/trace/ExtractedCtfTestTrace.kt:
--------------------------------------------------------------------------------
1 | package com.efficios.jabberwocky.ctf.trace
2 |
3 | import com.efficios.jabberwocky.trace.TraceInitializationException
4 | import org.lttng.scope.ttt.ctf.CtfTestTrace
5 | import java.nio.file.Paths
6 |
7 | internal class ExtractedCtfTestTrace(private val testTrace: CtfTestTrace) : AutoCloseable {
8 |
9 | private val testTraceExtractor: CtfTestTraceExtractor = CtfTestTraceExtractor.extractTestTrace(testTrace)
10 | val trace: CtfTrace
11 |
12 | init {
13 | val tracePath = testTraceExtractor.trace.path
14 | try {
15 | trace = CtfTrace(Paths.get(tracePath))
16 | } catch (e: TraceInitializationException) {
17 | throw IllegalArgumentException(e)
18 | }
19 | }
20 |
21 | override fun close() {
22 | testTraceExtractor.close()
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/jabberwocky-lttng/mixed-java-kotlin-sources.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/jabberwocky-lttng/mixed-java-kotlin-sources.properties
--------------------------------------------------------------------------------
/jabberwocky-lttng/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 | 4.0.0
13 |
14 |
15 | mixed
16 |
17 |
18 |
19 | org.lttng.scope
20 | lttng-scope-master
21 | 0.5.0-SNAPSHOT
22 |
23 |
24 | jabberwocky-lttng
25 | jar
26 |
27 | LTTng Support for Jabberwocky
28 |
29 |
30 |
31 | org.lttng.scope
32 | jabberwocky-core
33 |
34 |
35 |
36 | org.lttng.scope
37 | jabberwocky-ctf
38 |
39 |
40 |
41 | org.lttng.scope
42 | jabberwocky-core-test-base
43 |
44 |
45 |
46 | org.lttng.scope
47 | ttt
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/jabberwocky-lttng/src/main/java/com/efficios/jabberwocky/lttng/kernel/views/timegraph/resources/Messages.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2016-2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.lttng.kernel.views.timegraph.resources;
11 |
12 | /**
13 | * Messages class
14 | *
15 | * @author Alexandre Montplaisir
16 | * @noreference Message class
17 | */
18 | @SuppressWarnings("javadoc")
19 | public class Messages {
20 |
21 | public static final String resourcesCpuIrqProviderName = "CPU / IRQ";
22 | public static final String resourcesIrqProviderName = "IRQ";
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/jabberwocky-lttng/src/main/java/com/efficios/jabberwocky/lttng/kernel/views/timegraph/resources/elements/Messages.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package com.efficios.jabberwocky.lttng.kernel.views.timegraph.resources.elements;
11 |
12 | /**
13 | * Messages class
14 | *
15 | * @author Alexandre Montplaisir
16 | * @noreference Message class
17 | */
18 | @SuppressWarnings("javadoc")
19 | public class Messages {
20 |
21 | public static final String treeElementPrefixCpu = "CPU";
22 | public static final String treeElementPrefixIrq = "IRQ";
23 | public static final String treeElementPrefixSoftIrq = "Soft IRQ";
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/jabberwocky-lttng/src/main/java/com/efficios/jabberwocky/lttng/kernel/views/timegraph/threads/Messages.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package com.efficios.jabberwocky.lttng.kernel.views.timegraph.threads;
11 |
12 | /**
13 | * Messages class
14 | *
15 | * @author Alexandre Montplaisir
16 | * @noreference Message class
17 | */
18 | @SuppressWarnings("javadoc")
19 | public class Messages {
20 |
21 | public static String ControlFlowSortingModes_ByTid = "Sort by TID";
22 | public static String ControlFlowSortingModes_ByThreadName = "Sort by Thread Name";
23 |
24 | public static String ControlFlowFilterModes_InactiveEntries = "Filter inactive entries";
25 |
26 | public static String threadsProviderName = "Threads";
27 |
28 | public static String arrowSeriesCPUs = "CPUs";
29 |
30 | public static String propertyNotAvailable = "N/A";
31 | public static String propertyNameCpu = "CPU";
32 | public static String propertyNameSyscall = "Syscall";
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/jabberwocky-lttng/src/main/java/com/efficios/jabberwocky/lttng/kernel/views/timegraph/threads/ThreadsConfigModes.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package com.efficios.jabberwocky.lttng.kernel.views.timegraph.threads;
11 |
12 | import com.efficios.jabberwocky.views.timegraph.model.provider.ITimeGraphModelProvider.FilterMode;
13 | import com.efficios.jabberwocky.views.timegraph.model.provider.ITimeGraphModelProvider.SortingMode;
14 |
15 | public interface ThreadsConfigModes {
16 |
17 | SortingMode SORTING_BY_TID = new SortingMode(Messages.ControlFlowSortingModes_ByTid);
18 |
19 | SortingMode SORTING_BY_THREAD_NAME = new SortingMode(Messages.ControlFlowSortingModes_ByThreadName);
20 |
21 | FilterMode FILTERING_INACTIVE_ENTRIES = new FilterMode(Messages.ControlFlowFilterModes_InactiveEntries);
22 | }
23 |
--------------------------------------------------------------------------------
/jabberwocky-lttng/src/main/kotlin/com/efficios/jabberwocky/lttng/kernel/analysis/os/handlers/KernelEventHandler.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 EfficiOS Inc., Alexandre Montplaisir
3 | * Copyright (C) 2015 Ericsson
4 | *
5 | * All rights reserved. This program and the accompanying materials are
6 | * made available under the terms of the Eclipse Public License v1.0 which
7 | * accompanies this distribution, and is available at
8 | * http://www.eclipse.org/legal/epl-v10.html
9 | */
10 |
11 | package com.efficios.jabberwocky.lttng.kernel.analysis.os.handlers
12 |
13 | import ca.polymtl.dorsal.libdelorean.IStateSystemWriter
14 | import com.efficios.jabberwocky.lttng.kernel.trace.layout.LttngKernelEventLayout
15 | import com.efficios.jabberwocky.trace.event.TraceEvent
16 |
17 | /**
18 | * Base class for all kernel event handlers.
19 | */
20 | abstract class KernelEventHandler(protected val layout: LttngKernelEventLayout) {
21 |
22 | abstract fun handleEvent(ss: IStateSystemWriter, event: TraceEvent)
23 | }
24 |
--------------------------------------------------------------------------------
/jabberwocky-lttng/src/main/kotlin/com/efficios/jabberwocky/lttng/kernel/analysis/os/handlers/ProcessExitHandler.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 EfficiOS Inc., Alexandre Montplaisir
3 | * Copyright (C) 2015 Ericsson
4 | *
5 | * All rights reserved. This program and the accompanying materials are
6 | * made available under the terms of the Eclipse Public License v1.0 which
7 | * accompanies this distribution, and is available at
8 | * http://www.eclipse.org/legal/epl-v10.html
9 | */
10 |
11 | package com.efficios.jabberwocky.lttng.kernel.analysis.os.handlers
12 |
13 | import ca.polymtl.dorsal.libdelorean.IStateSystemWriter
14 | import com.efficios.jabberwocky.lttng.kernel.trace.layout.LttngKernelEventLayout
15 | import com.efficios.jabberwocky.trace.event.TraceEvent
16 |
17 | class ProcessExitHandler(layout: LttngKernelEventLayout) : KernelEventHandler(layout) {
18 |
19 | override fun handleEvent(ss: IStateSystemWriter, event: TraceEvent) {
20 | /* No state modifications tracked atm */
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/jabberwocky-lttng/src/main/kotlin/com/efficios/jabberwocky/lttng/kernel/analysis/os/handlers/ProcessFreeHandler.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 EfficiOS Inc., Alexandre Montplaisir
3 | * Copyright (C) 2015 Ericsson
4 | *
5 | * All rights reserved. This program and the accompanying materials are
6 | * made available under the terms of the Eclipse Public License v1.0 which
7 | * accompanies this distribution, and is available at
8 | * http://www.eclipse.org/legal/epl-v10.html
9 | */
10 |
11 | package com.efficios.jabberwocky.lttng.kernel.analysis.os.handlers
12 |
13 | import ca.polymtl.dorsal.libdelorean.IStateSystemWriter
14 | import com.efficios.jabberwocky.lttng.kernel.analysis.os.Attributes
15 | import com.efficios.jabberwocky.lttng.kernel.trace.layout.LttngKernelEventLayout
16 | import com.efficios.jabberwocky.trace.event.FieldValue.IntegerValue
17 | import com.efficios.jabberwocky.trace.event.TraceEvent
18 |
19 | class ProcessFreeHandler(layout: LttngKernelEventLayout) : KernelEventHandler(layout) {
20 |
21 | override fun handleEvent(ss: IStateSystemWriter, event: TraceEvent) {
22 | val cpu = event.cpu
23 | val tid = (event.fields[layout.fieldTid] as IntegerValue).value.toInt()
24 |
25 | val threadAttributeName = Attributes.buildThreadAttributeName(tid, cpu) ?: return
26 |
27 | /*
28 | * Remove the process and all its sub-attributes from the current state
29 | */
30 | ss.getQuarkRelativeAndAdd(ss.getNodeThreads(), threadAttributeName)
31 | .let { ss.removeAttribute(event.timestamp, it) }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/jabberwocky-lttng/src/main/kotlin/com/efficios/jabberwocky/lttng/kernel/trace/layout/LttngKernel26EventLayout.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 EfficiOS Inc., Alexandre Montplaisir
3 | * Copyright (C) 2014 Ericsson
4 | *
5 | * All rights reserved. This program and the accompanying materials are
6 | * made available under the terms of the Eclipse Public License v1.0 which
7 | * accompanies this distribution, and is available at
8 | * http://www.eclipse.org/legal/epl-v10.html
9 | */
10 |
11 | package com.efficios.jabberwocky.lttng.kernel.trace.layout
12 |
13 | /**
14 | * This file defines all the known event and field names for LTTng kernel
15 | * traces, for versions of lttng-modules 2.6 and above.
16 | */
17 | open class LttngKernel26EventLayout protected constructor() : LttngKernel20EventLayout() {
18 |
19 | companion object {
20 | val instance = LttngKernel26EventLayout()
21 | }
22 |
23 | /* New event names in this version */
24 | override val eventSyscallEntryPrefix = "syscall_entry_"
25 | override val eventCompatSyscallEntryPrefix = "compat_syscall_entry_"
26 | override val eventSyscallExitPrefix = "syscall_exit_"
27 | override val eventCompatSyscallExitPrefix = "compat_syscall_exit_"
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/jabberwocky-lttng/src/main/kotlin/com/efficios/jabberwocky/lttng/kernel/trace/layout/LttngKernel28EventLayout.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 EfficiOS Inc., Alexandre Montplaisir
3 | * Copyright (C) 2015 Ericsson
4 | * Copyright (C) 2015 École Polytechnique de Montréal
5 | *
6 | * All rights reserved. This program and the accompanying materials are
7 | * made available under the terms of the Eclipse Public License v1.0 which
8 | * accompanies this distribution, and is available at
9 | * http://www.eclipse.org/legal/epl-v10.html
10 | */
11 |
12 | package com.efficios.jabberwocky.lttng.kernel.trace.layout
13 |
14 | /**
15 | * This file defines all the known event and field names for LTTng kernel
16 | * traces, for versions of lttng-modules 2.8 and above.
17 | */
18 | open class LttngKernel28EventLayout protected constructor() : LttngKernel27EventLayout() {
19 |
20 | companion object {
21 | val instance = LttngKernel28EventLayout()
22 | }
23 |
24 | // TODO Technically, this event was added with LTTng 2.8, it should not be part of the super-classes
25 | override val eventSchedProcessWaking = "sched_waking"
26 | }
--------------------------------------------------------------------------------
/jabberwocky-lttng/src/main/kotlin/com/efficios/jabberwocky/lttng/kernel/trace/layout/LttngKernel29EventLayout.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 EfficiOS Inc., Alexandre Montplaisir
3 | * Copyright (C) 2016 École Polytechnique de Montréal
4 | *
5 | * All rights reserved. This program and the accompanying materials are
6 | * made available under the terms of the Eclipse Public License v1.0 which
7 | * accompanies this distribution, and is available at
8 | * http://www.eclipse.org/legal/epl-v10.html
9 | */
10 |
11 | package com.efficios.jabberwocky.lttng.kernel.trace.layout
12 |
13 | /**
14 | * This file defines all the known event and field names for LTTng kernel
15 | * traces, for versions of lttng-modules 2.9 and above.
16 | */
17 | open class LttngKernel29EventLayout protected constructor() : LttngKernel28EventLayout() {
18 |
19 | companion object {
20 | val instance = LttngKernel29EventLayout()
21 |
22 | private const val FIELD_VARIANT_SELECTED = "Any"
23 | }
24 |
25 | override val fieldPathTcpSeq = listOf("network_header", FIELD_VARIANT_SELECTED, "transport_header", "tcp", "seq")
26 | override val fieldPathTcpAckSeq = listOf("network_header", FIELD_VARIANT_SELECTED, "transport_header", "tcp", "ack_seq")
27 | override val fieldPathTcpFlags = listOf("network_header", FIELD_VARIANT_SELECTED, "transport_header", "tcp", "flags")
28 |
29 | }
--------------------------------------------------------------------------------
/jabberwocky-lttng/src/test/kotlin/com/efficios/jabberwocky/lttng/testutils/ExtractedCtfTestTrace.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package com.efficios.jabberwocky.lttng.testutils
11 |
12 | import com.efficios.jabberwocky.ctf.trace.CtfTrace
13 | import com.efficios.jabberwocky.trace.TraceInitializationException
14 | import org.lttng.scope.ttt.ctf.CtfTestTrace
15 | import java.nio.file.Paths
16 |
17 | internal class ExtractedCtfTestTrace(private val testTrace: CtfTestTrace) : AutoCloseable {
18 |
19 | private val testTraceExtractor: CtfTestTraceExtractor = CtfTestTraceExtractor.extractTestTrace(testTrace)
20 | val trace: CtfTrace
21 |
22 | init {
23 | val tracePath = testTraceExtractor.trace.path
24 | try {
25 | trace = CtfTrace(Paths.get(tracePath))
26 | } catch (e: TraceInitializationException) {
27 | throw IllegalArgumentException(e)
28 | }
29 |
30 | }
31 |
32 | override fun close() {
33 | testTraceExtractor.close()
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/javeltrace/kotlin-only-sources.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/javeltrace/kotlin-only-sources.properties
--------------------------------------------------------------------------------
/libdelorean/mixed-java-kotlin-sources.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/libdelorean/mixed-java-kotlin-sources.properties
--------------------------------------------------------------------------------
/libdelorean/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 | 4.0.0
13 |
14 |
15 | org.lttng.scope
16 | lttng-scope-master
17 | 0.5.0-SNAPSHOT
18 |
19 |
20 | libdelorean
21 | jar
22 |
23 | LibDelorean State System Library
24 |
25 |
26 |
27 | com.google.guava
28 | guava
29 |
30 |
31 |
32 | org.json
33 | json
34 |
35 |
36 |
37 | org.lttng.scope
38 | ttt
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/libdelorean/src/main/java/ca/polymtl/dorsal/libdelorean/exceptions/StateSystemDisposedException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | * Copyright (C) 2012-2014 Ericsson
4 | *
5 | * All rights reserved. This program and the accompanying materials are
6 | * made available under the terms of the Eclipse Public License v1.0 which
7 | * accompanies this distribution, and is available at
8 | * http://www.eclipse.org/legal/epl-v10.html
9 | */
10 |
11 | package ca.polymtl.dorsal.libdelorean.exceptions;
12 |
13 | /**
14 | * Exception thrown by the state system if a query is done on it after it has
15 | * been disposed.
16 | *
17 | * @author Alexandre Montplaisir
18 | */
19 | public class StateSystemDisposedException extends RuntimeException {
20 |
21 | private static final long serialVersionUID = 7896041701818620084L;
22 |
23 | /**
24 | * Create a new simple StateSystemDisposedException.
25 | */
26 | public StateSystemDisposedException() {
27 | super();
28 | }
29 |
30 | /**
31 | * Create a new StateSystemDisposedException based on a previous one.
32 | *
33 | * @param e
34 | * The previous exception
35 | */
36 | public StateSystemDisposedException(Throwable e) {
37 | super(e);
38 | }
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/libdelorean/src/test/java/ca/polymtl/dorsal/libdelorean/backend/HistoryTreeBackendReOpenTest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | * Copyright (C) 2016 Ericsson
4 | *
5 | * All rights reserved. This program and the accompanying materials are
6 | * made available under the terms of the Eclipse Public License v1.0 which
7 | * accompanies this distribution, and is available at
8 | * http://www.eclipse.org/legal/epl-v10.html
9 | */
10 |
11 | package ca.polymtl.dorsal.libdelorean.backend;
12 |
13 | import ca.polymtl.dorsal.libdelorean.backend.historytree.HistoryTreeBackend;
14 |
15 | /**
16 | * Test the {@link HistoryTreeBackend} class by re-opening an existing file.
17 | */
18 | public class HistoryTreeBackendReOpenTest extends HistoryTreeBackendTest {
19 |
20 | @Override
21 | protected void afterInsertionCb() {
22 | /*
23 | * Close the existing backend, and instantiate a new one that will re-read the
24 | * same file.
25 | */
26 | fBackend.dispose();
27 | fBackend = new HistoryTreeBackend(SSID, fTempFile, PROVIDER_VERSION);
28 |
29 | }
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/lttng-scope-ui/mixed-java-kotlin-sources.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/mixed-java-kotlin-sources.properties
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/common/process/Messages.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.common.process;
11 |
12 | /**
13 | * Message bundle for the package
14 | */
15 | @SuppressWarnings("javadoc")
16 | public class Messages {
17 |
18 | static final String ProcessUtils_NoResults = "No results were returned.";
19 | static final String ProcessUtils_ErrorDuringExecution = "Error during execution of the script.";
20 | static final String ProcessUtils_ErrorNoOutput = "(No output)";
21 | static final String ProcessUtils_ExecutionInterrupted = "Execution was interrupted.";
22 |
23 | private Messages() {}
24 | }
25 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/LamiConfigFileStrings.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Philippe Proulx
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.core;
11 |
12 | /**
13 | * Strings used in the config files describing LAMI analyses.
14 | *
15 | * @author Philippe Proulx
16 | * @noimplement This interface is not intended to be implemented by clients.
17 | */
18 | @SuppressWarnings({ "javadoc", "nls" })
19 | public interface LamiConfigFileStrings {
20 |
21 | String PROP_NAME = "name";
22 | String PROP_COMMAND = "command";
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/aspect/Messages.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.aspect;
11 |
12 | /**
13 | * Message bundle for the package
14 | *
15 | * @noreference Messages class
16 | */
17 | @SuppressWarnings("javadoc")
18 | public class Messages {
19 |
20 | static final String LamiAspect_Name = "name";
21 | static final String LamiAspect_Type = "type";
22 |
23 | static final String LamiAspect_TimeRangeBegin = "begin";
24 | static final String LamiAspect_TimeRangeDuration = "duration";
25 | static final String LamiAspect_TimeRangeEnd = "end";
26 |
27 | static final String LamiIRQTypeAspect_HardwareIRQ = "Hard";
28 | static final String LamiIRQTypeAspect_SoftIRQ = "Soft";
29 |
30 | private Messages() {
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/handler/messages.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2015, 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | LamiAnalysis_MainTaskName = Invoking external analysis script
11 |
12 | ParameterDialog_BaseCommand = Base command
13 | ParameterDialog_ExternalParameters = External Analysis Parameters
14 | ParameterDialog_ExternalParametersDescription = Extra parameters to pass to the external analysis. Leave empty for none.
15 | ParameterDialog_StringValidatorMessage = Allowed characters are letters, numbers, ',' and '-'
16 | ParameterDialog_ReportNameSuffix = Report
17 |
18 | ErrorDialog_Info = External script completed
19 | ErrorDialog_InfoMessage = The script finished executing.
20 | ErrorDialog_Error = Error running external script
21 | ErrorDialog_ErrorMessage = The script terminated abnormally.
22 |
23 | AddAnalysisDialog_Title = Add External Analysis
24 | AddAnalysisDialog_Name = Name
25 | AddAnalysisDialog_Command = Command
26 | AddAnalysisDialog_NameEmptyErrorMessage = You must name the new external analysis
27 | AddAnalysisDialog_CommandEmptyErrorMessage = The command line cannot be empty
28 | AddAnalysisDialog_ErrorBoxTitle = Cannot add external analysis
29 | AddAnalysisDialog_ErrorBoxMessage = Cannot add external analysis
30 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/module/Messages.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2015, 2016 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.module;
11 |
12 | /**
13 | * Message bundle for the package
14 | */
15 | @SuppressWarnings("javadoc")
16 | public class Messages {
17 |
18 | static final String LamiAnalysis_DefaultDynamicTableName = "Dynamic Table";
19 |
20 | static final String LamiAnalysis_MainTaskName = "Invoking external analysis script";
21 | static final String LamiAnalysis_NoResults = "No results were returned.";
22 | static final String LamiAnalysis_ErrorDuringExecution = "Error during execution of the script.";
23 | static final String LamiAnalysis_ErrorNoOutput = "(No output)";
24 | static final String LamiAnalysis_ExecutionInterrupted = "Execution was interrupted.";
25 |
26 | static final String LamiAnalysis_ExtendedTableNamePrefix = "Extended";
27 |
28 | private Messages() {
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/LamiBitrate.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Philippe Proulx
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | import org.jetbrains.annotations.Nullable;
13 |
14 | /**
15 | * Class for LAMI 'bitrate' types.
16 | *
17 | * @author Philippe Proulx
18 | */
19 | public class LamiBitrate extends LamiDoubleNumber {
20 |
21 | /**
22 | * Constructor
23 | *
24 | * @param value
25 | * The bitrate value, in bits per second (bps)
26 | */
27 | public LamiBitrate(double value) {
28 | super(value);
29 | }
30 |
31 | /**
32 | * Constructor (with limits)
33 | *
34 | * @param low
35 | * Lower bound of value (bps)
36 | * @param value
37 | * Value (bps)
38 | * @param high
39 | * Higher bound of value (bps)
40 | */
41 | public LamiBitrate(@Nullable Double low, @Nullable Double value, @Nullable Double high) {
42 | super(low, value, high);
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/LamiBoolean.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2015, 2016 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | import org.jetbrains.annotations.Nullable;
13 |
14 | class LamiBoolean extends LamiData {
15 |
16 | private static final LamiBoolean TRUE = new LamiBoolean(true);
17 | private static final LamiBoolean FALSE = new LamiBoolean(false);
18 |
19 | public static LamiBoolean instance(boolean value) {
20 | return (value ? TRUE : FALSE);
21 | }
22 |
23 | private final boolean fValue;
24 |
25 | private LamiBoolean(boolean value) {
26 | fValue = value;
27 | }
28 |
29 | public boolean getValue() {
30 | return fValue;
31 | }
32 |
33 | @Override
34 | public @Nullable
35 | String toString() {
36 | return (fValue ?
37 | Messages.LamiBoolean_Yes :
38 | Messages.LamiBoolean_No);
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/LamiCPU.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Philippe Proulx
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | class LamiCPU extends LamiData {
13 |
14 | private final int fId;
15 |
16 | public LamiCPU(int id) {
17 | fId = id;
18 | }
19 |
20 | public int getId() {
21 | return fId;
22 | }
23 |
24 | @Override
25 | public String toString() {
26 | return Integer.toString(fId);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/LamiDisk.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Philippe Proulx
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | /**
13 | * Lami 'disk' value.
14 | *
15 | * A disk can be "sda". It may contain partitions.
16 | *
17 | * @author Philippe Proulx
18 | */
19 | class LamiDisk extends LamiString {
20 |
21 | public LamiDisk(String value) {
22 | super(value);
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/LamiDiskPartition.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Philippe Proulx
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | /**
13 | * Lami 'disk partition' value.
14 | *
15 | * A disk partition is something like "sda2".
16 | *
17 | * @author Philippe Proulx
18 | */
19 | class LamiDiskPartition extends LamiString {
20 |
21 | public LamiDiskPartition(String value) {
22 | super(value);
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/LamiDuration.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Philippe Proulx
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | import org.jetbrains.annotations.Nullable;
13 |
14 | /**
15 | * Duration data element
16 | *
17 | * @author Philippe Proulx
18 | */
19 | public class LamiDuration extends LamiLongNumber {
20 |
21 | /**
22 | * Constructor
23 | *
24 | * @param value
25 | * The duration value (as a long)
26 | */
27 | public LamiDuration(long value) {
28 | super(value);
29 | }
30 |
31 | /**
32 | * Constructor (with limits)
33 | *
34 | * @param low
35 | * Lower bound of value (ns)
36 | * @param value
37 | * Value (ns)
38 | * @param high
39 | * Higher bound of value (ns)
40 | */
41 | public LamiDuration(@Nullable Long low, @Nullable Long value, @Nullable Long high) {
42 | super(low, value, high);
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/LamiEmpty.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2015, 2016 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | class LamiEmpty extends LamiData {
13 |
14 | public static final LamiEmpty INSTANCE = new LamiEmpty();
15 |
16 | private LamiEmpty() {}
17 |
18 | @Override
19 | public String toString() {
20 | return null;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/LamiFileDescriptor.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Philippe Proulx
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | class LamiFileDescriptor extends LamiData {
13 |
14 | private final int fFd;
15 |
16 | public LamiFileDescriptor(int fd) {
17 | fFd = fd;
18 | }
19 |
20 | public int getId() {
21 | return fFd;
22 | }
23 |
24 | @Override
25 | public String toString() {
26 | return Integer.toString(fFd);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/LamiNetworkInterface.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Philippe Proulx
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | class LamiNetworkInterface extends LamiString {
13 | public LamiNetworkInterface(String value) {
14 | super(value);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/LamiPath.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Philippe Proulx
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | class LamiPath extends LamiString {
13 | public LamiPath(String value) {
14 | super(value);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/LamiRatio.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Philippe Proulx
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | import org.jetbrains.annotations.Nullable;
13 |
14 | class LamiRatio extends LamiDoubleNumber {
15 |
16 | public LamiRatio(double value) {
17 | super(value);
18 | }
19 |
20 | public LamiRatio(@Nullable Double low, @Nullable Double value, @Nullable Double high) {
21 | super(low, value, high);
22 | }
23 |
24 | @Override
25 | public @Nullable String toString() {
26 | // TODO: The string should probably include the low and
27 | // high limits here.
28 | Number value = getValue();
29 |
30 | if (value != null) {
31 | return String.format("%.2f", value.doubleValue() * 100); //$NON-NLS-1$
32 | }
33 |
34 | return null;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/LamiSize.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Philippe Proulx
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | import org.jetbrains.annotations.Nullable;
13 |
14 | /**
15 | * Class for LAMI 'size' types.
16 | *
17 | * @author Philippe Proulx
18 | */
19 | public class LamiSize extends LamiLongNumber {
20 |
21 | /**
22 | * Constructor
23 | *
24 | * @param value
25 | * The size value, in bytes
26 | */
27 | public LamiSize(long value) {
28 | super(value);
29 | }
30 |
31 | /**
32 | * Constructor (with limits)
33 | *
34 | * @param low
35 | * Lower bound of value (bytes)
36 | * @param value
37 | * Value (bytes)
38 | * @param high
39 | * Higher bound of value (bytes)
40 | */
41 | public LamiSize(@Nullable Long low, @Nullable Long value, @Nullable Long high) {
42 | super(low, value, high);
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/LamiString.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2015, 2016 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | class LamiString extends LamiData {
13 |
14 | private final String fValue;
15 |
16 | public LamiString(String value) {
17 | fValue = value;
18 | }
19 |
20 | public String getValue() {
21 | return fValue;
22 | }
23 |
24 | @Override
25 | public String toString() {
26 | return fValue;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/LamiSystemCall.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Philippe Proulx
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | /**
13 | * Data element for LAMI system call objects.
14 | *
15 | * @author Philippe Proulx
16 | */
17 | public class LamiSystemCall extends LamiString {
18 |
19 | private final String fString;
20 |
21 | /**
22 | * Constructor
23 | *
24 | * @param value
25 | * The 'value' field of the system call, typically its name
26 | */
27 | public LamiSystemCall(String value) {
28 | super(value);
29 |
30 | if (value.endsWith("()")) { //$NON-NLS-1$
31 | fString = value;
32 | } else {
33 | fString = value + "()"; //$NON-NLS-1$
34 | }
35 | }
36 |
37 | @Override
38 | public String toString() {
39 | return fString;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/LamiTimestamp.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2015, 2016 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | import org.jetbrains.annotations.Nullable;
13 |
14 | /**
15 | * Lami timestamp data type
16 | *
17 | * @author Alexandre Montplaisir
18 | */
19 | public class LamiTimestamp extends LamiLongNumber {
20 |
21 | /**
22 | * Construct a time stamp from a value in ns.
23 | *
24 | * @param value
25 | * The value
26 | */
27 | public LamiTimestamp(long value) {
28 | super(value);
29 | }
30 |
31 | /**
32 | * Constructor (with limits)
33 | *
34 | * @param low
35 | * Lower bound of value (ns since Unix epoch)
36 | * @param value
37 | * Value (ns since Unix epoch)
38 | * @param high
39 | * Higher bound of value (ns since Unix epoch)
40 | */
41 | public LamiTimestamp(@Nullable Long low, @Nullable Long value, @Nullable Long high) {
42 | super(low, value, high);
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/LamiUnknown.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2015, 2016 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | /**
13 | * Lami 'unknown' value.
14 | *
15 | * The special unknown object represents an unknown value. It is typically used
16 | * in result table cells where a given computation cannot produce a result for
17 | * some reason.
18 | *
19 | * @author Alexandre Montplaisir
20 | */
21 | class LamiUnknown extends LamiData {
22 |
23 | public static final LamiUnknown INSTANCE = new LamiUnknown();
24 |
25 | private LamiUnknown() {}
26 |
27 | @Override
28 | public String toString() {
29 | return null;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/types/Messages.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2016 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.lami.types;
11 |
12 | /**
13 | * Message bundle for the package
14 | */
15 | @SuppressWarnings("javadoc")
16 | public class Messages {
17 |
18 | static final String LamiBoolean_Yes = "Yes";
19 | static final String LamiBoolean_No = "No";
20 |
21 | static final String LamiData_Value = "Value";
22 | static final String LamiData_UnitBytes = "bytes";
23 | static final String LamiData_UnitBitsPerSecond = "bps";
24 |
25 | static final String LamiIRQ_SoftIRQ = "SoftIRQ";
26 | static final String LamiIRQ_HardwareIRQ = "IRQ";
27 |
28 | private Messages() {
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/viewers/Messages.java:
--------------------------------------------------------------------------------
1 | ///*******************************************************************************
2 | // * Copyright (c) 2015, 2016 EfficiOS Inc., Alexandre Montplaisir
3 | // *
4 | // * All rights reserved. This program and the accompanying materials are
5 | // * made available under the terms of the Eclipse Public License v1.0 which
6 | // * accompanies this distribution, and is available at
7 | // * http://www.eclipse.org/legal/epl-v10.html
8 | // *******************************************************************************/
9 | //
10 | //package org.lttng.scope.lami.ui.viewers;
11 | //
12 | //import org.eclipse.jdt.annotation.NonNullByDefault;
13 | //import org.eclipse.osgi.util.NLS;
14 | //
15 | ///**
16 | // * Message bundle for the package
17 | // *
18 | // * @noreference Messages class
19 | // */
20 | //@NonNullByDefault({})
21 | //@SuppressWarnings("javadoc")
22 | //public class Messages extends NLS {
23 | //
24 | // private static final String BUNDLE_NAME = Messages.class.getPackage().getName() + ".messages"; //$NON-NLS-1$
25 | //
26 | // public static String LamiScatterViewer_by;
27 | //
28 | // public static String LamiXYChartViewer_CloseChartToolTip;
29 | //
30 | // public static String LamiViewer_DefaultValueName;
31 | //
32 | // static {
33 | // NLS.initializeMessages(BUNDLE_NAME, Messages.class);
34 | // }
35 | //
36 | // private Messages() {
37 | // }
38 | //}
39 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/lami/viewers/messages.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2015, 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 |
11 | LamiScatterViewer_by = by
12 | LamiXYChartViewer_CloseChartToolTip = Close chart
13 | LamiViewer_DefaultValueName = Value
14 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/views/context/ViewGroupContextManager.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.views.context;
11 |
12 | import com.efficios.jabberwocky.context.ViewGroupContext;
13 |
14 | /**
15 | * A common context for a group of views. Information is stored as properties,
16 | * and views can add listeners to get notified of value changes.
17 | *
18 | * @author Alexandre Montplaisir
19 | */
20 | public class ViewGroupContextManager {
21 |
22 | /**
23 | * The context is a singleton for now, but the framework could be extended
24 | * to support several contexts (one per "view group") at the same time.
25 | */
26 | private static final ViewGroupContext INSTANCE = new ViewGroupContext();
27 |
28 | /**
29 | * For now, there is only a single view context for the framework. This
30 | * method returns this singleton instance.
31 | *
32 | * @return The view context
33 | */
34 | public static ViewGroupContext getCurrent() {
35 | return INSTANCE;
36 | }
37 |
38 | /**
39 | * Cleanup all view group contexts.
40 | */
41 | public static void cleanup() {
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/views/timeline/widgets/timegraph/Messages.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.views.timeline.widgets.timegraph;
11 |
12 | /**
13 | * Message bundle for the package
14 | *
15 | * @noreference Messages class
16 | */
17 | @SuppressWarnings("javadoc")
18 | public class Messages {
19 |
20 | static final String statePropertyElement = "Element";
21 | static final String statePropertyStateName = "State";
22 | static final String statePropertyStartTime = "Start Time";
23 | static final String statePropertyEndTime = "End Time";
24 | static final String statePropertyDuration = "Duration";
25 |
26 |
27 | private Messages() {
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/views/timeline/widgets/timegraph/toolbar/Messages.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc.
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.views.timeline.widgets.timegraph.toolbar;
11 |
12 | /**
13 | * Message bundle for the package
14 | */
15 | @SuppressWarnings("javadoc")
16 | public class Messages {
17 |
18 | static final String arrowSeriesMenuButtonName = "Arrow Series";
19 |
20 | static final String sfFilterModeMenuButtonName = "Filter Modes";
21 | static final String sfSortingModeMenuButtonName = "Sorting Modes";
22 |
23 | static final String sfZoomInActionDescription = "Zoom In";
24 | static final String sfZoomOutActionDescription = "Zoom Out";
25 | static final String sfZoomToFullRangeActionDescription = "Fit to Full Trace Range";
26 | static final String sfZoomToSelectionActionDescription = "Fit to Selection";
27 |
28 | private Messages() {
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/views/timeline/widgets/timegraph/toolbar/ZoomInButton.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.views.timeline.widgets.timegraph.toolbar;
11 |
12 | import javafx.scene.control.Button;
13 | import javafx.scene.control.Tooltip;
14 | import javafx.scene.image.Image;
15 | import javafx.scene.image.ImageView;
16 | import org.lttng.scope.common.jfx.JfxImageFactory;
17 | import org.lttng.scope.views.timeline.widgets.timegraph.TimeGraphWidget;
18 |
19 | /**
20 | * Button for zooming in. It should do the same action as one ctrl+mouse-scroll.
21 | *
22 | * @author Alexandre Montplaisir
23 | */
24 | class ZoomInButton extends Button {
25 |
26 | private static final String ZOOM_IN_ICON_PATH = "/icons/toolbar/zoom_in.gif"; //$NON-NLS-1$
27 |
28 | public ZoomInButton(TimeGraphWidget viewer) {
29 | Image icon = JfxImageFactory.getImageFromResource(ZOOM_IN_ICON_PATH);
30 | setGraphic(new ImageView(icon));
31 | setTooltip(new Tooltip(Messages.sfZoomInActionDescription));
32 | setOnAction(e -> {
33 | viewer.getZoomActions().zoom(true, false, null);
34 | });
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/views/timeline/widgets/timegraph/toolbar/ZoomOutButton.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.views.timeline.widgets.timegraph.toolbar;
11 |
12 | import javafx.scene.control.Button;
13 | import javafx.scene.control.Tooltip;
14 | import javafx.scene.image.Image;
15 | import javafx.scene.image.ImageView;
16 | import org.lttng.scope.common.jfx.JfxImageFactory;
17 | import org.lttng.scope.views.timeline.widgets.timegraph.TimeGraphWidget;
18 |
19 | /**
20 | * Button for zooming out. It should do the same action as one
21 | * ctrl+mouse-scroll.
22 | *
23 | * @author Alexandre Montplaisir
24 | */
25 | class ZoomOutButton extends Button {
26 |
27 | private static final String ZOOM_OUT_ICON_PATH = "/icons/toolbar/zoom_out.gif"; //$NON-NLS-1$
28 |
29 | public ZoomOutButton(TimeGraphWidget viewer) {
30 | Image icon = JfxImageFactory.getImageFromResource(ZOOM_OUT_ICON_PATH);
31 | setGraphic(new ImageView(icon));
32 | setTooltip(new Tooltip(Messages.sfZoomOutActionDescription));
33 | setOnAction(e -> {
34 | viewer.getZoomActions().zoom(false, false, null);
35 | });
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/views/timeline/widgets/timegraph/toolbar/modelconfig/Messages.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc.
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.views.timeline.widgets.timegraph.toolbar.modelconfig;
11 |
12 | /**
13 | * Message bundle for the package
14 | */
15 | @SuppressWarnings("javadoc")
16 | public class Messages {
17 |
18 | static final String modelConfigButtonName = "Model Configuration";
19 | static final String modelConfigDialogTitle = "Model Configuration";
20 | static final String modelConfigDialogHeader = "State Model Configuration";
21 |
22 | static final String modelConfigDialogRowHeaderState = "State";
23 | static final String modelConfigDialogRowHeaderColor = "Color";
24 | static final String modelConfigDialogRowHeaderLineThickness = "Line Thickness";
25 |
26 | static final String modelConfigDialogResetDefaultsButton = "Reset Defaults";
27 |
28 | private Messages() {
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/java/org/lttng/scope/views/timeline/widgets/timegraph/toolbar/nav/Messages.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc.
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.views.timeline.widgets.timegraph.toolbar.nav;
11 |
12 | /**
13 | * Message bundle for the package
14 | */
15 | @SuppressWarnings("javadoc")
16 | public class Messages {
17 |
18 | static final String sfFollowStateChangesNavModeName = "Follow State Changes";
19 | static final String sfFollowEventsNavModeName = "Follow Events";
20 | static final String sfFollowArrowsNavModeName = "Follow Arrows";
21 | static final String sfFollowBookmarksNavModeName = "Follow Bookmarks";
22 |
23 | static final String sfNextEventJobName = "Searching for next matching event";
24 | static final String sfPreviousEventJobName = "Searching for previous matching event";
25 |
26 | private Messages() {
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/kotlin/org/lttng/scope/application/ScopeWindowManager.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.application
11 |
12 | import javafx.stage.Stage
13 | import java.util.*
14 |
15 | /**
16 | * Manager which will track opened windows (Stages) other than the main application window.
17 | *
18 | * Non-modal dialogs or windows created by the application should be registered here. That way,
19 | * if the user closes the main window, we should ensure the application exits by closing other
20 | * sub-windows.
21 | */
22 | class ScopeWindowManager {
23 |
24 | private val trackedWindows: MutableSet = Collections.newSetFromMap(WeakHashMap())
25 |
26 | @Synchronized
27 | fun registerWindow(window: Stage) {
28 | trackedWindows.add(window)
29 | }
30 |
31 | @Synchronized
32 | fun closeAll() {
33 | trackedWindows.forEach { it.close() }
34 | trackedWindows.clear()
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/kotlin/org/lttng/scope/application/task/ScopeTaskProgressView.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.application.task
11 |
12 | import com.efficios.jabberwocky.task.JabberwockyTask
13 | import com.efficios.jabberwocky.task.JabberwockyTaskManager
14 | import javafx.application.Platform
15 | import org.controlsfx.control.TaskProgressView
16 |
17 | class ScopeTaskProgressView : TaskProgressView>(), JabberwockyTaskManager.TaskManagerOutput {
18 |
19 | override fun taskRegistered(task: JabberwockyTask<*>) {
20 | Platform.runLater { tasks.add(task) }
21 | }
22 |
23 | override fun taskDeregistered(task: JabberwockyTask<*>) {
24 | Platform.runLater { tasks.remove(task) }
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/kotlin/org/lttng/scope/common/ChangeListenerHandler.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017-2018 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.common
11 |
12 | import javafx.beans.property.Property
13 | import javafx.beans.value.ChangeListener
14 |
15 | /**
16 | * Simple class encapsulating a {@link ChangeListener} and its target property.
17 | * It allows disabling and re-enabling the listener, by simply detaching it from
18 | * its target, on demand. The calling class then only has one class to manage
19 | * (this handler) instead of two.
20 | *
21 | * The listener will be added to the target (enabled) initially.
22 | *
23 | * @param
24 | * The type of property
25 | */
26 | class ChangeListenerHandler(private val target: Property,
27 | private val listener: ChangeListener) {
28 |
29 | init {
30 | enable()
31 | }
32 |
33 | /** Attach the listener to its property, re-enabling it. */
34 | fun enable() = target.addListener(listener)
35 |
36 | /** Detach the listener from its property, disabling it. */
37 | fun disable() = target.removeListener(listener)
38 | }
39 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/kotlin/org/lttng/scope/common/LatestTaskExecutor.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2016-2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.common
11 |
12 | import javafx.concurrent.Task
13 | import java.lang.ref.WeakReference
14 | import java.util.concurrent.Executors
15 |
16 | class LatestTaskExecutor {
17 |
18 | private val executor = Executors.newFixedThreadPool(2)
19 | // private val executor = Executors.newSingleThreadExecutor()
20 |
21 | /** The latest job that was scheduled in this queue. */
22 | private var latestTask = WeakReference>(null)
23 |
24 | @Synchronized
25 | fun schedule(newTask: Task<*>) {
26 | /* Cancel the existing task. Here's hoping it cooperates and ends quickly! */
27 | latestTask.get()?.cancel(false)
28 |
29 | /* Start the new job */
30 | latestTask = WeakReference(newTask)
31 | executor.submit(newTask)
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/kotlin/org/lttng/scope/common/MathUtils.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017-2018 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.common
11 |
12 | import kotlin.math.ceil
13 | import kotlin.math.max
14 | import kotlin.math.min
15 |
16 | /**
17 | * Find the multiple of 'multipleOf' that is greater but closest to
18 | * 'this'. If 'this' is already a multiple of 'multipleOf', the same
19 | * value will be returned.
20 | *
21 | * @param multipleOf
22 | * We want the returned value to be a multiple of this number
23 | * @return The closest, greater multiple
24 | */
25 | fun Long.roundToClosestHigherMultiple(multipleOf: Long): Long {
26 | return (ceil(this.toDouble() / multipleOf) * multipleOf).toLong()
27 | }
28 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/kotlin/org/lttng/scope/common/jfx/ActionButton.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.common.jfx
11 |
12 | import javafx.event.ActionEvent
13 | import javafx.scene.control.Button
14 |
15 | class ActionButton(label: String, action: (ActionEvent) -> Unit) : Button(label) {
16 |
17 | init {
18 | setOnAction(action)
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/kotlin/org/lttng/scope/common/jfx/CountingGridPane.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017-2018 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.common.jfx;
11 |
12 | import javafx.scene.Node;
13 | import javafx.scene.layout.GridPane;
14 |
15 | /**
16 | * Extension of a {@link GridPane} which tracks the number of inserted rows.
17 | *
18 | * Make sure you only add rows to the pane using {@link #appendRow(Node...)} or
19 | * else it will give weird results!
20 | *
21 | * @author Alexandre Montplaisir
22 | */
23 | open class CountingGridPane : GridPane() {
24 |
25 | private var nbRows = 0
26 |
27 | /**
28 | * Add a row of nodes to this grid pane. Not thread-safe!
29 | *
30 | * @param children
31 | * The contents of the row
32 | */
33 | fun appendRow(vararg children: Node) {
34 | addRow(nbRows++, *children)
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/kotlin/org/lttng/scope/common/jfx/JfxImageFactory.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017-2018 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.common.jfx
11 |
12 | import javafx.scene.image.Image
13 | import java.io.IOException
14 |
15 | /**
16 | * Factory for JavaFX [Image]s. This will allow caching the Image objects,
17 | * allowing any class to re-use already read images.
18 | *
19 | * @author Alexandre Montplaisir
20 | */
21 | object JfxImageFactory {
22 |
23 | private val images = mutableMapOf()
24 |
25 | /**
26 | * Get the {@link Image} for a given path within the jar's resources.
27 | *
28 | * @param resourcePath
29 | * The path to the image resource. It should be a standard
30 | * .gif/.png/.jpg etc. file.
31 | * @return The corresponding Image.
32 | */
33 | @JvmStatic
34 | @Synchronized
35 | fun getImageFromResource(resourcePath: String): Image? {
36 | images[resourcePath]?.let { return it }
37 |
38 | val image: Image = try {
39 | javaClass.getResourceAsStream(resourcePath).use { it?.let { Image(it) } ?: return null }
40 | } catch (e: IOException) {
41 | return null
42 | }
43 |
44 | images[resourcePath] = image
45 | return image
46 | }
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/kotlin/org/lttng/scope/project/ProjectArea.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.project
11 |
12 | import javafx.scene.layout.BorderPane
13 | import org.lttng.scope.project.tree.ProjectTree
14 |
15 | class ProjectArea : BorderPane() {
16 |
17 | private val projectTree = ProjectTree()
18 |
19 | init {
20 | center = projectTree
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/kotlin/org/lttng/scope/project/ProjectManager.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.project
11 |
12 | import com.efficios.jabberwocky.project.TraceProject
13 | import org.lttng.scope.project.filter.EventFilterDefinition
14 |
15 | /**
16 | * Application-side manager that keeps track of active trace projects, and
17 | * the viewer-side state that we want to associate to them.
18 | */
19 | object ProjectManager {
20 |
21 | private val projectStates = mutableMapOf, ProjectState>()
22 |
23 | @Synchronized
24 | fun getProjectState(project: TraceProject<*, *>): ProjectState {
25 | var state = projectStates[project]
26 | if (state == null) {
27 | state = ProjectState(project)
28 | projectStates.put(project, state)
29 | }
30 | return state
31 | }
32 |
33 | /**
34 | * Clear the "cache" for one given project. Usually should be called when said
35 | * project is destroyed.
36 | *
37 | * @param project The project to dispose of
38 | */
39 | @Synchronized
40 | fun dispose(project: TraceProject<*, *>) {
41 | projectStates.remove(project);
42 | }
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/kotlin/org/lttng/scope/project/filter/EventFilterDefinition.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.project.filter
11 |
12 | import com.efficios.jabberwocky.trace.event.TraceEvent
13 | import com.efficios.jabberwocky.views.common.ColorDefinition
14 | import com.efficios.jabberwocky.views.common.EventSymbolStyle
15 | import javafx.beans.property.BooleanProperty
16 | import javafx.beans.property.ReadOnlyObjectWrapper
17 | import javafx.beans.property.SimpleBooleanProperty
18 | import javafx.scene.Node
19 | import org.lttng.scope.common.jfx.JfxColorFactory
20 |
21 | data class EventFilterDefinition(val name: String,
22 | val color: ColorDefinition,
23 | val symbol: EventSymbolStyle,
24 | val predicate: (TraceEvent) -> Boolean) {
25 |
26 | private val enabledProperty: BooleanProperty = SimpleBooleanProperty(true)
27 | fun enabledProperty() = enabledProperty
28 | var isEnabled
29 | get() = enabledProperty.get()
30 | set(value) = enabledProperty.set(value)
31 |
32 | }
33 |
34 | fun EventFilterDefinition.getGraphic(): Node = this.symbol.getGraphic(ReadOnlyObjectWrapper(JfxColorFactory.getColorFromDef(color)))
35 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/kotlin/org/lttng/scope/project/tree/BookmarksTreeItem.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017-2018 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.project.tree
11 |
12 | import com.efficios.jabberwocky.project.TraceProject
13 |
14 | internal class BookmarksTreeItem : ProjectTreeItem(BOOKMARKS_NODE_NAME) {
15 |
16 | companion object {
17 | private const val BOOKMARKS_NODE_NAME = "Bookmarks"
18 | }
19 |
20 | override fun initForProject(project: TraceProject<*, *>) {
21 | // TODO
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/kotlin/org/lttng/scope/project/tree/TracesTreeItem.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017-2018 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.project.tree
11 |
12 | import com.efficios.jabberwocky.project.TraceProject
13 | import javafx.scene.control.TreeItem
14 |
15 | internal class TracesTreeItem : ProjectTreeItem(TRACES_NODE_NAME) {
16 |
17 | companion object {
18 | private const val TRACES_NODE_NAME = "Traces"
19 | }
20 |
21 | override fun initForProject(project: TraceProject<*, *>) {
22 | val traces = project.traceCollections.flatMap { it.traces }
23 | val newChildren = traces.map { TreeItem(it.name) }
24 |
25 | children.clear()
26 | children.addAll(newChildren)
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/kotlin/org/lttng/scope/views/timeline/NavigationAreaWidget.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.views.timeline
11 |
12 | interface NavigationAreaWidget : TimelineWidget
13 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/appicons/generate-icons.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # This script will generate all variants of the icon, based on:
4 | # png/scope_icon_256x256.png
5 | #
6 | # Requires:
7 | # - imagemagick ("convert" command)
8 | # - icnsutils ("png2icns" command)
9 | # - icoutils ("icotool" command)
10 |
11 | # generate the different sizes of PNG
12 | for i in 16 32 48 64 128
13 | do
14 | convert png/scope_icon_256x256.png -resize "$i"x"$i" png/scope_icon_"$i"x"$i".png
15 | done
16 |
17 | # generate the different BMPs
18 | #
19 | # Eclipse asks for "32-bit BMPs", but that doesn't seem to exist... unless it
20 | # means "BMP with an alpha channel". The commands below produce '-x8' BMPs with
21 | # no alpha channel, and '-x32' ones with a 1-bit apha channel.
22 | # Hopefully that works.
23 | mkdir bmp
24 | for i in 16 32 48
25 | do
26 | convert png/scope_icon_256x256.png -resize "$i"x"$i" -colors 256 bmp/scope_icon_"$i"x"$i"x8.bmp
27 | convert png/scope_icon_256x256.png -resize "$i"x"$i" -depth 32 bmp/scope_icon_"$i"x"$i"x32.bmp
28 | done
29 | convert png/scope_icon_256x256.png -depth 32 bmp/scope_icon_256x256x32.bmp
30 | convert bmp/*.bmp ico/scope_icon.ico
31 | rm bmp/*.bmp
32 | rmdir bmp
33 |
34 | # generate the XPM
35 | convert png/scope_icon_256x256.png xpm/scope_icon_256x256.xpm
36 |
37 | # generate the ICNS
38 | png2icns icns/scope_icon.icns png/scope_icon_256x256.png png/scope_icon_128x128.png png/scope_icon_32x32.png png/scope_icon_16x16.png
39 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/appicons/icns/scope_icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/appicons/icns/scope_icon.icns
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/appicons/ico/scope_icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/appicons/ico/scope_icon.ico
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/appicons/png/scope_icon_128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/appicons/png/scope_icon_128x128.png
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/appicons/png/scope_icon_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/appicons/png/scope_icon_16x16.png
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/appicons/png/scope_icon_256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/appicons/png/scope_icon_256x256.png
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/appicons/png/scope_icon_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/appicons/png/scope_icon_32x32.png
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/appicons/png/scope_icon_48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/appicons/png/scope_icon_48x48.png
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/appicons/png/scope_icon_64x64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/appicons/png/scope_icon_64x64.png
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/appicons/scope_about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/appicons/scope_about.png
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/appicons/splash.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/appicons/splash.bmp
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/attribution:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/table/bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/table/bottom.png
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/table/pagedown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/table/pagedown.png
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/table/pageup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/table/pageup.png
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/table/top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/table/top.png
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/toolbar/config.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/toolbar/config.gif
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/toolbar/help.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/toolbar/help.gif
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/toolbar/legend.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/toolbar/legend.gif
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/toolbar/nav_arrow_back.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/toolbar/nav_arrow_back.gif
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/toolbar/nav_arrow_fwd.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/toolbar/nav_arrow_fwd.gif
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/toolbar/nav_bookmark_back.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/toolbar/nav_bookmark_back.gif
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/toolbar/nav_bookmark_fwd.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/toolbar/nav_bookmark_fwd.gif
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/toolbar/nav_event_back.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/toolbar/nav_event_back.gif
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/toolbar/nav_event_fwd.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/toolbar/nav_event_fwd.gif
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/toolbar/nav_statechange_back.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/toolbar/nav_statechange_back.gif
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/toolbar/nav_statechange_fwd.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/toolbar/nav_statechange_fwd.gif
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/toolbar/zoom_full.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/toolbar/zoom_full.gif
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/toolbar/zoom_in.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/toolbar/zoom_in.gif
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/toolbar/zoom_out.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/toolbar/zoom_out.gif
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/tracetype/lttng-ust.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/tracetype/lttng-ust.png
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/icons/tracetype/lttng.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/lttng-scope-ui/src/main/resources/icons/tracetype/lttng.png
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/lttng-analyses-configs/cputop.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | name = LTTng-Analyses: CPU Usage Top
11 | command = lttng-cputop-mi
12 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/lttng-analyses-configs/index.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | analyses = cputop \
11 | iolatencyfreq \
12 | iolatencystats \
13 | iolatencytop \
14 | iolog \
15 | iousagetop \
16 | irqfreq \
17 | irqlog \
18 | irqstats \
19 | memtop \
20 | schedfreq \
21 | schedlog \
22 | schedstats \
23 | schedtop \
24 | syscallstats
25 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/lttng-analyses-configs/iolatencyfreq.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | name = LTTng-Analyses: I/O Latency Frequency Distribution
11 | command = lttng-iolatencyfreq-mi
12 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/lttng-analyses-configs/iolatencystats.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | name = LTTng-Analyses: I/O Latency Statistics
11 | command = lttng-iolatencystats-mi
12 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/lttng-analyses-configs/iolatencytop.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | name = LTTng-Analyses: I/O Latency Top
11 | command = lttng-iolatencytop-mi
12 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/lttng-analyses-configs/iolog.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | name = LTTng-Analyses: I/O Usage Log
11 | command = lttng-iolog-mi
12 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/lttng-analyses-configs/iousagetop.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | name = LTTng-Analyses: I/O Usage Top
11 | command = lttng-iousagetop-mi
12 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/lttng-analyses-configs/irqfreq.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | name = LTTng-Analyses: Interrupt Frequency Distribution
11 | command = lttng-irqfreq-mi
12 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/lttng-analyses-configs/irqlog.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | name = LTTng-Analyses: Interrupt Log
11 | command = lttng-irqlog-mi
12 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/lttng-analyses-configs/irqstats.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | name = LTTng-Analyses: Interrupt Statistics
11 | command = lttng-irqstats-mi
12 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/lttng-analyses-configs/memtop.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | name = LTTng-Analyses: Memory Usage Top
11 | command = lttng-memtop-mi
12 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/lttng-analyses-configs/schedfreq.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | name = LTTng-Analyses: Scheduling Latency Frequency Distribution
11 | command = lttng-schedfreq-mi
12 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/lttng-analyses-configs/schedlog.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | name = LTTng-Analyses: Scheduling Latency Log
11 | command = lttng-schedlog-mi
12 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/lttng-analyses-configs/schedstats.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | name = LTTng-Analyses: Scheduling Latency Statistics
11 | command = lttng-schedstats-mi
12 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/lttng-analyses-configs/schedtop.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | name = LTTng-Analyses: Scheduling Latency Top
11 | command = lttng-schedtop-mi
12 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/main/resources/lttng-analyses-configs/syscallstats.properties:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Copyright (c) 2016 EfficiOS Inc. and others
3 | #
4 | # All rights reserved. This program and the accompanying materials
5 | # are made available under the terms of the Eclipse Public License v1.0
6 | # which accompanies this distribution, and is available at
7 | # http://www.eclipse.org/legal/epl-v10.html
8 | ###############################################################################
9 |
10 | name = LTTng-Analyses: System Call Statistics
11 | command = lttng-syscallstats-mi
12 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/test/kotlin/org/lttng/scope/common/MathUtilsTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017-2018 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.common
11 |
12 | import org.assertj.core.api.Assertions.assertThat
13 | import org.junit.jupiter.api.Test
14 |
15 | /**
16 | * Tests for MathUtils.
17 | */
18 | class MathUtilsTest {
19 |
20 | /**
21 | * Test the {@link MathUtils#roundToClosestHigherMultiple(long, long)}
22 | * method.
23 | */
24 | @Test
25 | fun testRoundToClosestHigherMultiple() {
26 | assertThat(12L.roundToClosestHigherMultiple(10L)).isEqualTo(20L)
27 | assertThat(20L.roundToClosestHigherMultiple(20L)).isEqualTo(20L)
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/lttng-scope-ui/src/test/kotlin/org/lttng/scope/common/tests/StubProject.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017-2018 EfficiOS Inc., Alexandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v1.0 which
6 | * accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | */
9 |
10 | package org.lttng.scope.common.tests
11 |
12 | import com.efficios.jabberwocky.project.TraceProject
13 | import com.efficios.jabberwocky.trace.event.TraceEvent
14 | import com.google.common.io.MoreFiles
15 | import java.io.IOException
16 | import java.nio.file.Files
17 | import java.nio.file.Path
18 |
19 | class StubProject(trace: StubTrace) : AutoCloseable {
20 |
21 | private val projectPath: Path
22 | val traceProject: TraceProject
23 |
24 | init {
25 | try {
26 | projectPath = Files.createTempDirectory("stub-project");
27 | } catch (e: IOException) {
28 | throw IllegalStateException(e)
29 | }
30 | traceProject = TraceProject.ofSingleTrace("stub-project", projectPath, trace)
31 | }
32 |
33 | override fun close() {
34 | try {
35 | MoreFiles.deleteRecursively(projectPath);
36 | } catch (e: IOException) {
37 | }
38 | }
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/ttt/README.md:
--------------------------------------------------------------------------------
1 | TTT Test Traces Collection
2 | ==========================
3 |
4 | *TTT* (originally *tracecompass-test-traces*) is a set of CTF test
5 | traces for use in Trace Compass, LTTng Scope, and related projects.
6 |
7 | To build the package and install it in your local Maven repo, simply
8 | issue:
9 |
10 | mvn clean install
11 |
12 |
13 | Adding a new CTF test trace
14 | ---------------------------
15 |
16 | The modules follow the [Maven standard directory layout](https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html).
17 |
18 | To add a new CTF test trace, add it to the `ctf/src/main/resources` directory.
19 | Make sure it is not archived or anything, as this will be exposed as-is to the
20 | users.
21 |
22 | Then update the `ctf/src/main/java/.../CtfTestTrace.java` file accordingly to
23 | include the new trace.
24 |
25 | Make sure the parameters (event count, etc.) are correct! This project does not
26 | check those at the moment, but if they are incorrect they **will** fail some
27 | Trace Compass unit tests. This is a known issue.
28 |
29 | Finally, use `mvn versions:set` to bump the version number of the project.
30 |
31 |
--------------------------------------------------------------------------------
/ttt/java-only-sources.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/java-only-sources.properties
--------------------------------------------------------------------------------
/ttt/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
13 | 4.0.0
14 |
15 |
16 | org.lttng.scope
17 | lttng-scope-master
18 | 0.5.0-SNAPSHOT
19 |
20 |
21 | ttt
22 | Test trace collection
23 |
24 |
--------------------------------------------------------------------------------
/ttt/src/main/resources/bug446190/channel0_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/bug446190/channel0_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/bug446190/channel0_1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/bug446190/channel0_1
--------------------------------------------------------------------------------
/ttt/src/main/resources/bug446190/channel0_2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/bug446190/channel0_2
--------------------------------------------------------------------------------
/ttt/src/main/resources/bug446190/channel0_3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/bug446190/channel0_3
--------------------------------------------------------------------------------
/ttt/src/main/resources/bug446190/index/channel0_0.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/bug446190/index/channel0_0.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/bug446190/index/channel0_1.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/bug446190/index/channel0_1.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/bug446190/index/channel0_2.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/bug446190/index/channel0_2.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/bug446190/index/channel0_3.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/bug446190/index/channel0_3.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/bug446190/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/bug446190/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/context-switches/context-switches-kernel/channel-context-switches_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/context-switches/context-switches-kernel/channel-context-switches_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/context-switches/context-switches-kernel/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/context-switches/context-switches-kernel/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/context-switches/context-switches-ust/channel0_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/context-switches/context-switches-ust/channel0_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/context-switches/context-switches-ust/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/context-switches/context-switches-ust/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/ctfwriter_JF8nq3/custom_event_header_stream_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/ctfwriter_JF8nq3/custom_event_header_stream_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/ctfwriter_JF8nq3/empty_stream_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/ctfwriter_JF8nq3/empty_stream_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/ctfwriter_JF8nq3/event_before_stream_test_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/ctfwriter_JF8nq3/event_before_stream_test_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/ctfwriter_JF8nq3/test_stream_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/ctfwriter_JF8nq3/test_stream_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile-fast/channel0_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile-fast/channel0_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile-fast/channel0_1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile-fast/channel0_1
--------------------------------------------------------------------------------
/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile-fast/channel0_2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile-fast/channel0_2
--------------------------------------------------------------------------------
/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile-fast/channel0_3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile-fast/channel0_3
--------------------------------------------------------------------------------
/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile-fast/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile-fast/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile/channel0_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile/channel0_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile/channel0_1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile/channel0_1
--------------------------------------------------------------------------------
/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile/channel0_2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile/channel0_2
--------------------------------------------------------------------------------
/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile/channel0_3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile/channel0_3
--------------------------------------------------------------------------------
/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/cyg-profile/glxgears-cyg-profile/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-synth-buildid-debuglink/test_stream_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-synth-buildid-debuglink/test_stream_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-synth-exec/test_stream_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-synth-exec/test_stream_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-synth-two-processes/test_stream_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-synth-two-processes/test_stream_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app2/channel0_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app2/channel0_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app2/channel0_1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app2/channel0_1
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app2/channel0_2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app2/channel0_2
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app2/channel0_3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app2/channel0_3
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app2/index/channel0_0.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app2/index/channel0_0.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app2/index/channel0_1.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app2/index/channel0_1.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app2/index/channel0_2.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app2/index/channel0_2.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app2/index/channel0_3.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app2/index/channel0_3.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app2/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app2/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/channel0_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/channel0_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/channel0_1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/channel0_1
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/channel0_2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/channel0_2
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/channel0_3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/channel0_3
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/channel0_4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/channel0_4
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/channel0_5:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/channel0_5
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/channel0_6:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/channel0_6
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/channel0_7:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/channel0_7
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/index/channel0_0.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/index/channel0_0.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/index/channel0_1.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/index/channel0_1.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/index/channel0_2.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/index/channel0_2.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/index/channel0_3.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/index/channel0_3.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/index/channel0_4.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/index/channel0_4.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/index/channel0_5.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/index/channel0_5.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/index/channel0_6.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/index/channel0_6.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/index/channel0_7.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/index/channel0_7.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app3/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app3/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app4/channel0_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app4/channel0_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app4/channel0_1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app4/channel0_1
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app4/channel0_2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app4/channel0_2
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app4/channel0_3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app4/channel0_3
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app4/index/channel0_0.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app4/index/channel0_0.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app4/index/channel0_1.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app4/index/channel0_1.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app4/index/channel0_2.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app4/index/channel0_2.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app4/index/channel0_3.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app4/index/channel0_3.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/debuginfo-test-app4/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/debuginfo-test-app4/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/flipping-endianness/channel-context-switches_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/flipping-endianness/channel-context-switches_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/flipping-endianness/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/flipping-endianness/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/funky_trace/test_stream_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/funky_trace/test_stream_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/hello-lost/channel1_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/hello-lost/channel1_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/hello-lost/channel1_1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/hello-lost/channel1_1
--------------------------------------------------------------------------------
/ttt/src/main/resources/hello-lost/channel1_2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/hello-lost/channel1_2
--------------------------------------------------------------------------------
/ttt/src/main/resources/hello-lost/channel1_3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/hello-lost/channel1_3
--------------------------------------------------------------------------------
/ttt/src/main/resources/hello-lost/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/hello-lost/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/kernel/channel0_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/kernel/channel0_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/kernel/channel0_1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/kernel/channel0_1
--------------------------------------------------------------------------------
/ttt/src/main/resources/kernel/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/kernel/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/kernel_vm/channel0_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/kernel_vm/channel0_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/kernel_vm/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/kernel_vm/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/channel0_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/channel0_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/channel0_1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/channel0_1
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/channel0_2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/channel0_2
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/channel0_3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/channel0_3
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/channel0_4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/channel0_4
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/channel0_5:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/channel0_5
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/channel0_6:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/channel0_6
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/channel0_7:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/channel0_7
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/index/channel0_0.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/index/channel0_0.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/index/channel0_1.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/index/channel0_1.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/index/channel0_2.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/index/channel0_2.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/index/channel0_3.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/index/channel0_3.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/index/channel0_4.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/index/channel0_4.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/index/channel0_5.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/index/channel0_5.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/index/channel0_6.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/index/channel0_6.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/index/channel0_7.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/index/channel0_7.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/many-threads/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/many-threads/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/memory/channel0_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/memory/channel0_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/memory/channel0_1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/memory/channel0_1
--------------------------------------------------------------------------------
/ttt/src/main/resources/memory/channel0_2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/memory/channel0_2
--------------------------------------------------------------------------------
/ttt/src/main/resources/memory/channel0_3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/memory/channel0_3
--------------------------------------------------------------------------------
/ttt/src/main/resources/memory/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/memory/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/one-event/index/lttng_jul_channel_0.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/one-event/index/lttng_jul_channel_0.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/one-event/index/lttng_jul_channel_1.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/one-event/index/lttng_jul_channel_1.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/one-event/index/lttng_jul_channel_2.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/one-event/index/lttng_jul_channel_2.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/one-event/index/lttng_jul_channel_3.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/one-event/index/lttng_jul_channel_3.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/one-event/lttng_jul_channel_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/one-event/lttng_jul_channel_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/one-event/lttng_jul_channel_1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/one-event/lttng_jul_channel_1
--------------------------------------------------------------------------------
/ttt/src/main/resources/one-event/lttng_jul_channel_2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/one-event/lttng_jul_channel_2
--------------------------------------------------------------------------------
/ttt/src/main/resources/one-event/lttng_jul_channel_3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/one-event/lttng_jul_channel_3
--------------------------------------------------------------------------------
/ttt/src/main/resources/one-event/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/one-event/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/perf-taskset2/perf_stream_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/perf-taskset2/perf_stream_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/synctraces/scp_dest/channel0_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/synctraces/scp_dest/channel0_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/synctraces/scp_dest/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/synctraces/scp_dest/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/synctraces/scp_src/channel0_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/synctraces/scp_src/channel0_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/synctraces/scp_src/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/synctraces/scp_src/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/trace2/channel0_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/trace2/channel0_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/trace2/channel0_1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/trace2/channel0_1
--------------------------------------------------------------------------------
/ttt/src/main/resources/trace2/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/trace2/metadata
--------------------------------------------------------------------------------
/ttt/src/main/resources/uneven-streams/channel0_0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/uneven-streams/channel0_0
--------------------------------------------------------------------------------
/ttt/src/main/resources/uneven-streams/channel0_1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/uneven-streams/channel0_1
--------------------------------------------------------------------------------
/ttt/src/main/resources/uneven-streams/channel0_2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/uneven-streams/channel0_2
--------------------------------------------------------------------------------
/ttt/src/main/resources/uneven-streams/channel0_3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/uneven-streams/channel0_3
--------------------------------------------------------------------------------
/ttt/src/main/resources/uneven-streams/index/channel0_0.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/uneven-streams/index/channel0_0.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/uneven-streams/index/channel0_1.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/uneven-streams/index/channel0_1.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/uneven-streams/index/channel0_2.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/uneven-streams/index/channel0_2.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/uneven-streams/index/channel0_3.idx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/uneven-streams/index/channel0_3.idx
--------------------------------------------------------------------------------
/ttt/src/main/resources/uneven-streams/metadata:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lttng/lttng-scope/939ecd9c696c7c64ecfd4a04d7ea5d02231ae73b/ttt/src/main/resources/uneven-streams/metadata
--------------------------------------------------------------------------------
/ttt/src/test/java/org/lttng/scope/ttt/ctf/CtfTestTraceTest.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2015 Efficios Inc., Alexaandre Montplaisir
3 | *
4 | * All rights reserved. This program and the accompanying materials
5 | * are made available under the terms of the Eclipse Public License v1.0
6 | * which accompanies this distribution, and is available at
7 | * http://www.eclipse.org/legal/epl-v10.html
8 | *******************************************************************************/
9 |
10 | package org.lttng.scope.ttt.ctf;
11 |
12 | import org.junit.jupiter.api.Test;
13 |
14 | import static org.junit.jupiter.api.Assertions.assertNotNull;
15 |
16 | /**
17 | * Basic tests for the CtfTestTraces
18 | */
19 | class CtfTestTraceTest {
20 |
21 | /**
22 | * Test that all configured traces are present.
23 | */
24 | @Test
25 | void testTracesExist() {
26 | for (CtfTestTrace trace : CtfTestTrace.values()) {
27 | assertNotNull(trace.getTraceURL());
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------