Build analysis extension that helps to collect build measurements.
It measures time of each project build and collects it within a build session model object. After any build is done it'll POST this model as JSON to any http endpoint.
This extension doesn't include implementation of endpoint, so in order to collect data, provided by this extension, you need to implement/setup your own endpoint in order to handle build data.
Here is the example of JSON that goes to endpoint after each build:
{ "TargetName": "CoolProject.sln", "RebuildAll": true, "ServerName": "MyPC", "BuildStarted": "2016-03-11T10:07:45.1327014+02:00", "BuildFinished": "2016-03-11T10:07:52.5529633+02:00", "Duration": 450.25000, "Version": "1.4", "ProjectBuilds": [ { "ServerName": "MyPC", "ProjectName": "CoolProject.csproj", "ProjectPath": "CoolProject\\CoolProject.csproj", "ProjectConfiguration": "Debug", "Platform": "Any CPU", "BuildStarted": "2016-03-11T10:07:45.4948826+02:00", "BuildFinished": "2016-03-11T10:07:45.7176212+02:00", "Duration": 222.73860000000002 }, { "ServerName": "MyPC", "ProjectName": "CoolProject2.vbproj", "ProjectPath": "CoolProject\\CoolProject2.vbproj", "ProjectConfiguration": "Debug", "Platform": "Any CPU", "BuildStarted": "2016-03-11T10:07:45.4948826+02:00", "BuildFinished": "2016-03-11T10:07:45.7176212+02:00", "Duration": 222.73860000000002 } ]}
{ "TargetName": "CoolProject.sln", "RebuildAll": true, "ServerName": "MyPC", "BuildStarted": "2016-03-11T10:07:45.1327014+02:00", "BuildFinished": "2016-03-11T10:07:52.5529633+02:00", "Duration": 450.25000, "Version": "1.4", "ProjectBuilds": [ { "ServerName": "MyPC", "ProjectName": "CoolProject.csproj", "ProjectPath": "CoolProject\\CoolProject.csproj", "ProjectConfiguration": "Debug", "Platform": "Any CPU", "BuildStarted": "2016-03-11T10:07:45.4948826+02:00", "BuildFinished": "2016-03-11T10:07:45.7176212+02:00", "Duration": 222.73860000000002 }, { "ServerName": "MyPC", "ProjectName": "CoolProject2.vbproj", "ProjectPath": "CoolProject\\CoolProject2.vbproj", "ProjectConfiguration": "Debug", "Platform": "Any CPU", "BuildStarted": "2016-03-11T10:07:45.4948826+02:00", "BuildFinished": "2016-03-11T10:07:45.7176212+02:00", "Duration": 222.73860000000002 } ] }
By default endpoint is set to http://buildanalysis/collect, but you can change it under Options/Environment/Build analysis settings. Also, logging type could be changed from endpoint to local file (this is also through settings):