Skip to content

Commit 34ed201

Browse files
authored
Fix crash when we have no Perfetto CPU sampling stack (#62)
* Fix crash when we have no CPU sampling stack * Fix some warnings due to upcoming API deprecations in 1.0 Toolkit SDK
1 parent e69c916 commit 34ed201

File tree

30 files changed

+76
-75
lines changed

30 files changed

+76
-75
lines changed

LTTngDataExtensions/SourceDataCookers/Diagnostic Messages/DmesgDataCooker.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ public class LTTngDmesgDataCooker
1616
: LTTngBaseSourceCooker
1717
{
1818
public const string Identifier = "DmesgDataCooker";
19-
public const string CookerPath = LTTngConstants.SourceId + "/" + Identifier;
2019

2120
public LTTngDmesgDataCooker()
2221
: base(Identifier)

LTTngDataExtensions/SourceDataCookers/Disk/LTTngDiskDataCooker.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ public FileDescriptorInfo(string filepath, uint? deviceId)
3232
}
3333

3434
public const string Identifier = "DiskDataCooker";
35-
public const string CookerPath = LTTngConstants.SourceId + "/" + Identifier;
3635

3736
private static class DiskDataKeys
3837
{

LTTngDataExtensions/SourceDataCookers/LTTngBaseSourceCooker.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public abstract class LTTngBaseSourceCooker
1919
protected static readonly ReadOnlyHashSet<string> EmptyDataKeys = new ReadOnlyHashSet<string>(emptyDataKeys);
2020

2121
protected LTTngBaseSourceCooker(string cookerId)
22-
: this(new DataCookerPath(LTTngConstants.SourceId, cookerId))
22+
: this(DataCookerPath.ForSource(LTTngConstants.SourceId, cookerId))
2323
{
2424
}
2525

LTTngDataExtensions/SourceDataCookers/Module/LTTngModuleDataCooker.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ public class LTTngModuleDataCooker
1818
: LTTngBaseSourceCooker
1919
{
2020
public const string Identifier = "ModuleDataCooker";
21-
public const string CookerPath = LTTngConstants.SourceId + "/" + Identifier;
2221

2322
private DiscardedEventsTracker discardedEventsTracker = new DiscardedEventsTracker();
2423
private ExecutingThreadTracker threadTracker = new ExecutingThreadTracker();

LTTngDataExtensions/SourceDataCookers/Syscall/LTTngSyscallDataCooker.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ public class LTTngSyscallDataCooker
1818
: LTTngBaseSourceCooker
1919
{
2020
public const string Identifier = "SyscallDataCooker";
21-
public const string CookerPath = LTTngConstants.SourceId + "/" + Identifier;
2221

2322
public static string UknownSyscallExit = "compat_syscall_exit_unknown";
2423

LTTngDataExtensions/SourceDataCookers/Thread/LTTngThreadDataCooker.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -363,8 +363,7 @@ private static class ThreadCreationDataKeys
363363
});
364364

365365
public const string Identifier = "ThreadDataCooker";
366-
public const string CookerPath = LTTngConstants.SourceId + "/" + Identifier;
367-
public static readonly DataCookerPath DataCookerPath = new DataCookerPath(LTTngConstants.SourceId, LTTngThreadDataCooker.Identifier);
366+
public static readonly DataCookerPath DataCookerPath = DataCookerPath.ForSource(LTTngConstants.SourceId, LTTngThreadDataCooker.Identifier);
368367

369368
public LTTngThreadDataCooker()
370369
: base(Identifier)

LTTngDataExtensions/Tables/DiagnosticMessageTable.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,23 @@
33

44
using System;
55
using System.Collections.Generic;
6+
using LTTngCds.CookerData;
67
using LTTngDataExtensions.SourceDataCookers.Diagnostic_Messages;
78
using Microsoft.Performance.SDK.Extensibility;
89
using Microsoft.Performance.SDK.Processing;
910

1011
namespace LTTngDataExtensions.Tables
1112
{
1213
[Table]
13-
[RequiresCooker(LTTngDmesgDataCooker.CookerPath)]
14+
[RequiresSourceCooker(LTTngConstants.SourceId, LTTngDmesgDataCooker.Identifier)]
1415
public class DiagnosticMessageTable
1516
{
1617
public static TableDescriptor TableDescriptor = new TableDescriptor(
1718
Guid.Parse("{A752AFA9-B30E-44ED-B5BA-348C55A63157}"),
1819
"DiagnosticMessages",
1920
"Diagnostic Messages",
20-
"Linux LTTng");
21+
"Linux LTTng",
22+
defaultLayout: TableLayoutStyle.GraphAndTable);
2123

2224
private static readonly ColumnConfiguration messageColumn =
2325
new ColumnConfiguration(
@@ -31,7 +33,7 @@ public class DiagnosticMessageTable
3133
public static void BuildTable(ITableBuilder tableBuilder, IDataExtensionRetrieval tableData)
3234
{
3335
var messages = tableData.QueryOutput<IReadOnlyList<IDiagnosticMessage>>(
34-
DataOutputPath.Create(LTTngDmesgDataCooker.CookerPath + "/DiagnosticMessages"));
36+
DataOutputPath.ForSource(LTTngConstants.SourceId, LTTngDmesgDataCooker.Identifier, nameof(LTTngDmesgDataCooker.DiagnosticMessages)));
3537
if (messages.Count == 0)
3638
{
3739
return;
@@ -46,7 +48,6 @@ public static void BuildTable(ITableBuilder tableBuilder, IDataExtensionRetrieva
4648
TableConfiguration.GraphColumn,
4749
timestampColumn
4850
},
49-
Layout = TableLayoutStyle.GraphAndTable,
5051
};
5152

5253
config.AddColumnRole(ColumnRole.StartTime, timestampColumn);

LTTngDataExtensions/Tables/DiskTable.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
using System;
55
using System.Collections.Generic;
6+
using LTTngCds.CookerData;
67
using LTTngDataExtensions.DataOutputTypes;
78
using LTTngDataExtensions.SourceDataCookers.Disk;
89
using Microsoft.Performance.SDK;
@@ -12,15 +13,16 @@
1213
namespace LTTngDataExtensions.Tables
1314
{
1415
[Table]
15-
[RequiresCooker(LTTngDiskDataCooker.CookerPath)]
16+
[RequiresSourceCooker(LTTngConstants.SourceId, LTTngDiskDataCooker.Identifier)]
1617
///[PrebuiltConfigurationsFilePath("Resources\\DiskActivityPrebuiltConfiguration.json")]
1718
public static class DiskTable
1819
{
1920
public static TableDescriptor TableDescriptor = new TableDescriptor(
2021
Guid.Parse("{B18A134C-0B62-4C02-B729-6579C8223AB3}"),
2122
"Disk",
2223
"Disk Activity",
23-
"Linux LTTng");
24+
"Linux LTTng",
25+
defaultLayout: TableLayoutStyle.GraphAndTable);
2426

2527
private static readonly ColumnConfiguration deviceIdColumn =
2628
new ColumnConfiguration(
@@ -155,7 +157,7 @@ public static class DiskTable
155157
public static void BuildTable(ITableBuilder tableBuilder, IDataExtensionRetrieval tableData)
156158
{
157159
var diskEvents = tableData.QueryOutput<IReadOnlyList<IDiskActivity>>(
158-
DataOutputPath.Create(LTTngDiskDataCooker.CookerPath + '/' + nameof(LTTngDiskDataCooker.DiskActivity)));
160+
DataOutputPath.ForSource(LTTngConstants.SourceId, LTTngDiskDataCooker.Identifier, nameof(LTTngDiskDataCooker.DiskActivity)));
159161
if (diskEvents.Count == 0)
160162
{
161163
return;
@@ -182,7 +184,6 @@ public static void BuildTable(ITableBuilder tableBuilder, IDataExtensionRetrieva
182184
issueTimeColumn,
183185
completeTimeColumn
184186
},
185-
Layout = TableLayoutStyle.GraphAndTable,
186187
};
187188

188189
var ioTimesByDevFileConfig = new TableConfiguration("IOTime by Device, FilePath")
@@ -207,7 +208,6 @@ public static void BuildTable(ITableBuilder tableBuilder, IDataExtensionRetrieva
207208
ioTimeAvgColumn,
208209
ioTimeMaxColumn
209210
},
210-
Layout = TableLayoutStyle.GraphAndTable,
211211
};
212212

213213
iosByDeviceThCmdConfig.AddColumnRole(ColumnRole.StartTime, insertTimeColumn);

LTTngDataExtensions/Tables/ExecutionEvent.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,20 @@
77
using Microsoft.Performance.SDK.Extensibility;
88
using Microsoft.Performance.SDK.Processing;
99
using Microsoft.Performance.SDK;
10+
using LTTngCds.CookerData;
1011

1112
namespace LTTngDataExtensions.Tables
1213
{
1314
[Table]
14-
[RequiresCooker(LTTngThreadDataCooker.CookerPath)]
15+
[RequiresSourceCooker(LTTngConstants.SourceId, LTTngThreadDataCooker.Identifier)]
1516
public class ExecutionEvent
1617
{
1718
public static TableDescriptor TableDescriptor = new TableDescriptor(
1819
Guid.Parse("{91A234C3-3A3C-4230-85DA-76DE1C8E86BA}"),
1920
"Execution Events",
2021
"Context Switches History",
21-
"Linux LTTng");
22+
"Linux LTTng",
23+
defaultLayout: TableLayoutStyle.GraphAndTable);
2224

2325
private static readonly ColumnConfiguration cpuColumn =
2426
new ColumnConfiguration(
@@ -141,7 +143,7 @@ public class ExecutionEvent
141143
public static void BuildTable(ITableBuilder tableBuilder, IDataExtensionRetrieval tableData)
142144
{
143145
var threads = tableData.QueryOutput<IReadOnlyList<IExecutionEvent>>(
144-
DataOutputPath.Create(LTTngThreadDataCooker.CookerPath + "/ExecutionEvents"));
146+
DataOutputPath.ForSource(LTTngConstants.SourceId, LTTngThreadDataCooker.Identifier, nameof(LTTngThreadDataCooker.ExecutionEvents)));
145147
if (threads.Count == 0)
146148
{
147149
return;
@@ -170,7 +172,6 @@ public static void BuildTable(ITableBuilder tableBuilder, IDataExtensionRetrieva
170172
switchInTimeColumn,
171173
switchOutTimeColumn
172174
},
173-
Layout = TableLayoutStyle.GraphAndTable,
174175
InitialFilterShouldKeep = false,
175176
InitialFilterQuery = filterIdleSamplesQuery,
176177
};
@@ -203,7 +204,6 @@ public static void BuildTable(ITableBuilder tableBuilder, IDataExtensionRetrieva
203204
TableConfiguration.GraphColumn,
204205
percentCpuUsagePreset,
205206
},
206-
Layout = TableLayoutStyle.GraphAndTable,
207207
InitialFilterShouldKeep = false,
208208
InitialFilterQuery = filterIdleSamplesQuery,
209209
};
@@ -236,7 +236,6 @@ public static void BuildTable(ITableBuilder tableBuilder, IDataExtensionRetrieva
236236
TableConfiguration.GraphColumn,
237237
percentCpuUsagePreset,
238238
},
239-
Layout = TableLayoutStyle.GraphAndTable,
240239
InitialFilterShouldKeep = false,
241240
InitialFilterQuery = filterIdleSamplesQuery,
242241
};

LTTngDataExtensions/Tables/FileEventsTable.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,20 @@
88
using Microsoft.Performance.SDK.Extensibility;
99
using Microsoft.Performance.SDK;
1010
using Microsoft.Performance.SDK.Processing;
11+
using LTTngCds.CookerData;
1112

1213
namespace LTTngDataExtensions.Tables
1314
{
1415
[Table]
15-
[RequiresCooker(LTTngDiskDataCooker.CookerPath)]
16+
[RequiresSourceCooker(LTTngConstants.SourceId, LTTngDiskDataCooker.Identifier)]
1617
public class FileEventsTable
1718
{
1819
public static TableDescriptor TableDescriptor = new TableDescriptor(
1920
Guid.Parse("{A636196C-2FD9-453D-B315-2FC07AD06A26}"),
2021
"FileEvents",
2122
"File Events",
22-
"Linux LTTng");
23+
"Linux LTTng",
24+
defaultLayout: TableLayoutStyle.GraphAndTable);
2325

2426
private static readonly ColumnConfiguration fileEventNameColumn =
2527
new ColumnConfiguration(
@@ -69,7 +71,7 @@ public class FileEventsTable
6971
public static void BuildTable(ITableBuilder tableBuilder, IDataExtensionRetrieval tableData)
7072
{
7173
var fileEvents = tableData.QueryOutput<IReadOnlyList<IFileEvent>>(
72-
DataOutputPath.Create(LTTngDiskDataCooker.CookerPath + '/' + nameof(LTTngDiskDataCooker.FileEvents)));
74+
DataOutputPath.ForSource(LTTngConstants.SourceId, LTTngDiskDataCooker.Identifier, nameof(LTTngDiskDataCooker.FileEvents)));
7375
if (fileEvents.Count == 0)
7476
{
7577
return;
@@ -91,7 +93,6 @@ public static void BuildTable(ITableBuilder tableBuilder, IDataExtensionRetrieva
9193
fileEventStartTimeColumn,
9294
fileEventEndTimeColumn
9395
},
94-
Layout = TableLayoutStyle.GraphAndTable,
9596
};
9697

9798
config.AddColumnRole(ColumnRole.StartTime, fileEventStartTimeColumn);

0 commit comments

Comments
 (0)