-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate the initial node metrics #11481
Conversation
As discussed offline - left for @JanProvaznik to handle:
|
ran can't find the telemetry.txt 1668 targets (half metaproj) we might want to aggregate metaproj targets, if they're hashed then it's not very useful to have their details |
maybe the csv serialization will be needed after all🤔 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As a co-author I cannot approve - but all changes by @JanProvaznik looks good to go!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it breaks VS C++ scenarios, needs more testing. https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=11074124&view=ms.vss-test-web.build-test-results-tab&runId=122902221&resultId=100000&paneView=debug
This was a recent change of 'ExecutionsCount' type change from short to int, that wasn't reflected on the receiving side (it was caught by the failing |
strategy to get this in 17.14p2:
|
// We do not want decimals | ||
writer.WriteNumber("CumulativeExecutionTimeMs", (long)stats.CumulativeExecutionTime.TotalMilliseconds); | ||
// We do not want decimals | ||
writer.WriteNumber("CumulativeConsumedMemoryKB", stats.TotalMemoryConsumption / 1024); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we use consistent naming for the variables and json keys, so it can be nameof(prop), instead on the hardcoded strings?
WriteStat(writer, value.CustomTasksInfo, "Custom"); | ||
writer.WriteEndObject(); | ||
|
||
void WriteStat(Utf8JsonWriter writer, TasksInfo tasksInfo, string name) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it dupe of line 222?
} | ||
} | ||
|
||
void UpdateStatistics( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please add short description for the method
|
||
private static JsonSerializerOptions _serializerOptions = CreateSerializerOptions(); | ||
|
||
private static JsonSerializerOptions CreateSerializerOptions() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why we can't make it as a static property without a separation ?
{ | ||
internal static class TelemetryDataUtils | ||
{ | ||
public static IActivityTelemetryDataHolder? AsActivityDataHolder(this IWorkerNodeTelemetryData? telemetryData, bool includeTasksDetails, bool includeTargetDetails) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please document this method
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
agreed to fix the comment in the separate PR
Fixes #11480
Context
Connects the exposed data into the telemetry collector, converts them into json format.
Testing
TBD
Also - we need to test the resulting output on Orchard to have an idea on volume/size of resulting data - we may need to aggregate/filter targets a bit?
Notes
Sample of resulting data: