Trending/Merging Basics

Trending/Merging Basics

Hello, I'd like to see some documentation, examples, or more explanation on creating/using trending files. Basically, what I see so far is that I can "combine" one coverage output file into a previous .trend file to create "more trend". Is that correct? However, what I don't get is best practices for doing this. It would seem that to do this continually to keep an ongoing trend, you're build process would have to have access to the .trend file used from the previous build to append to it again. Is there a better way to handle this? Also, this continual appends would, over time I'd think, create a huge .trend file wouldn't it? Any advice on this or how this looks before I get there?

And the documentation doesn't make it readily clear what merging data files is all about. Is that simply if you have exercised different parts of your code base and want the coverage data all together? Or is it also some type of aggregation/compilation??


RE: Trending/Merging Basics

Russweb,

Depending on your build setup, you would append to the trend file during every build. This would create more trends.

You can also save all of your coverage files from all of your builds and batch create a trend file by passing in the entire set into ncover.reporting and by using the //at option, you would create a trend file.

The trend file could get large and we are working on a binary format of the file for that reason.

Using the IDE or FullCoverageReport, you can report on trends and show how your code is trending over time, up, down the same...

The merging is for people that have multiple types of coverage that they would like to combine into one file for reporting or display purposes.

Some companies will perform tests against one dll but then combine it with the package of dll's and perform additional analysis against the merged results.

Does this help or did I make it worse?

Joe


RE: Trending/Merging Basics

Yes, this was helpful. I get a better picture now and have a couple ideas of how to deal with the trending file now.

Thx for you reply.


RE: Trending/Merging Basics

Russweb,

You are welcome, feel free to contact us with any questions.

Joe


RE: Trending/Merging Basics

Are there any command line options to control or reduce the size of the trend file? After running a series of NUnit project files under NCover, I have 100MB of coverage files. Using NCover.Reporting, these merge into a 100K xml report file but the trend file increases by 10MB each time. Running a continuous build and test process, the file is over 100 MB in 5 days. Here's the command line I'm using:

NCover.Reporting *.cover.xml //at MyProject.trends.xml //p MyProject //r SymbolModule //rdf Assembly //rf xml //so Name //op MyProject.CoverageReport.xml

Also, is there a way to integrate the trend file into CruiseControl for reporting? The MyProject.CoverageReport.xml works well in the CC Dashboard.

Output from NCover.Reporting:

NCover Reporting Complete v3.0.18 x86 (Administrator) Merging and Reporting for NCover Copyright (c) 2007 - 2009 Gnoso Inc. http://www.ncover.com Appended trend data to ... Wrote xml report to ... Execution Time: 224,662 ms Merging file: ...


RE: Trending/Merging Basics

The Trend file is a snapshop rollup of all of the coverage data for a run. We have no current way of reducing it except to reduce the coverage file before appending it.

We are in the process of moving to a database format which will improve the size issues with the current file.

The other option is to keep all of your coverage files and batch add them to a trend file only when you want to perform testing against the file.

I would recommend against using the true trend file for cc.net since it has to transform the file every time someone hits the page. The xml output format is a version of the trend file that contains additional information needed to output cc.net reports.

What xslt file are you using?

Joe

Joe


RE: Trending/Merging Basics

So I have been playing around with appending to a trending data file every build ( and I also see that this file is gonna grow like crazy...when is that database version coming?). My question for the moment has to do with getting the trending data to show up in the FullCoverageReport that is autogenerated with the build.

In my nCover Explorer, I can load the coverage file from the build, and I can then load the cumulative trend file from the build. With those 2 loaded, I can then use the "Generate Reports" button to generage a FullCoverageReport that contains the Trend graphs in the report.

The problem is that I see no way via commandline to generate that FullCoverage report so that it contains the trend graph in it....only from the explorer. This is very important for us to do. What am I missing?

I am using the //at switch to add data to the trend during nCover.Console time so that every build is included in the trend.

nCover.Reporting also has a //at switch, but it's instructions also say it is for appending data, not for designating which trend file to include in the FullCoverageReport. I don't want to append more data during report time, but just to use that data.

These trending basics may be a good thing to put in the "How To" articles.

Please assist.

Thx


RE: Trending/Merging Basics

I think I answered my own question by playing around. I need to use the //at switch at nCover.Report time to specifiy the trending file to use. Somehow it knows not to double append the data, and does create a trend graph in the report.

I can see the need for having the //at switch to append data in both .exe now though, in case you wanted to create reports out of existing data and needed it to append w/o having to go recompile.

More comprehensive documentation and/or How-To's woulda been a time-saver here.


RE: Trending/Merging Basics

How do I get something on the X axis of the trend? Something that represents the build # or identifier for each build? I used the //bi switch with the nCover.Reporting and it didnt seem to make a difference.

I also added to the nCover.Console section and it made no difference in the trend file or trend charts.

I do see the Build number showing up in the coverage files...but nothing with trending.


RE: Trending/Merging Basics

You are looking for some type of tooltip or indicator for the build on the trend graph?

This is not supported at this time but it is on the short list to fix.

Is the build id being placed inthe trend file or are you saying that does not work?

Joe


RE: Trending/Merging Basics

I agree about the fact that covering this kind of stuff in How-To section would be a time saver. And adding search to the forums would be even more of a time saver. Titles of posts aren't always appropriate. Who has time to read through all the forum posts trying to find out if one's issue has been answered?