In this blog post I am going to update Bill Barnett's post which describes the tables and columns in the load test database. Here is Bill's original post which applies to VS 2005 and VS 2008: 2008 Database
First, in VS 2010 the default load test database name has been changed from LoadTest to LoadTest2010. Now let's review the tables.
*** Each new table or column will be prefixed with ***
Table: LoadTestRun: Contains one row for each load test that is executed.
Columns:
Table: LoadTestCase: Stores data on the inner tests included in the load test (one row per inner test)
Table: LoadTestMessage: Stores data for each error that occurs during the load test
Table: ***LoadTestMessageType: Stores a row for each type of message that occurs. Whereas LoadTestMessage stores data for each occurence of a message.
Table: LoadTestThresholdMessage: Stores one row of data for each threshold rule violation
Table: ***LoadTestFileAttachment: Stores one row of data for each file that is beign saved with a run. Typically these will be files that are returned from datacollectors.
Table: ***LoadTestFileAttachmentChunk: Stores the file content. File is broken into chunks and stored in multiple rows..
Table: ***LoadTestDataCollectorLog: Contains one row for each data collector that is running during a loadtest
Overview of performance counter tables
The metadata for all of the performance counters collected during a load test is stored in three related tables: LoadTestPerformanceCounterCategory, LoadTestPerformanceCounter, and LoadTestPerformanceCounter.
This metadata includes all four components of performance counter identifier: computer name, category name, counter name, and instance name.
Note that these three tables only store metadata about the performance counters; the sampled performance counter values are stored in LoadTestPerformanceCounterSample.
Table: LoadTestPerformanceCounter: Stores one row for each performance counter that is collected during the load test
Table: LoadTestPerformanceCounterCategory: Stores one row for each performance counter category and computer on which the category is collected
Table: LoadTestPerformanceCounterInstance: Stores one for each performce counter instance that is collected during the load test
Table: LoadTestPerformanceCounterSample: Stores the performance counter samples. There is one for each performance counter instance collected for each sampling interval during the loadtest. Many of the columns in this table are fields of the .Net class System.Diagnostics.CounterSample which is used internally by the load test implementation, and their values don't make much sense outside that context.
Table: LoadTestRunAgent: Stores the names of the agent machines used for a load test run
Table: LoadTestRunInterval: Stores one row for each performance counter collection interval during the load test run
Table: LoadTestScenario: Stores the names of the Scenarios defined for a load test
Table: WebLoadTestErrorDetail: Stores detailed data about a web test request when there is an error associated with a web test request
Table: ***LoadTestTestLog: Stores the entire test case result assoicated with an execution of a testcase. By default just failed tests will be logged, but you can also configure successful tests to be logged as well.
Table: WebLoadTestRequestMap: Stores one row for each unique Uri to which a web test request is sent during the load test
Table: WebLoadTestTransaction: Store the names of all transactions defined in the load test (this includes transactions defined in web tests, and transaction defined in unit tests using the BeginTimer()/EndTimer() methods.
Table: LoadTestSqlTrace: Stores collected when performing SQL tracing during a load test; the field correspond to SQL trace fields
Table: LoadTestBrowsers: Stores the names of all browser types used during the load test
Table: LoadTestNetworks: Stores the names of all network types used during the load test
Tables used to store Timing Details
All of the following tables only have data stored in them when the "Timing Details Storage" option on the Load Test Run Settings is set to a value other than "None".
Table: LoadTestTestDetail: Stores the results of individual inner tests; there is one row for each test completed during the load test
Table: LoadTestPageDetail: Stores timing results of individual web test pages; there is one row for each web test page completed during the load test
Table: LoadTestTransactionDetail
Table: LoadTestTestSummaryData: Summarizes the detailed Test result data that is stored in LoadTestTestDetail; there is one row for each test in the load test run which rolls up the results for that test
Table: LoadTestTransactionSummaryData: Summarizes the detailed transaction data that is stored in LoadTestTransactionDetail; there is one row for each transaction name used during the load test run which rolls up the results for that transaction. The average column is calculated based on the elapsed time. All other stats are calculated base on the response time of transaction. The response time does not include thinktime.
Table: LoadTestPageSummaryData: Summarizes the detailed page data that is stored in LoadTestPageDetail; there is one row for each page Uri invoked during the load test run which rolls up the results for that page.
Table: LoadTestPageSummaryByNetwork: Summarizes the detailed page data that is stored in LoadTestPageDetail by network type; there is one row for each page Uri for each network type invoked during the load test run which rolls up the results for that page on each network type.
Table: ***LoadTestDetailMessge: This table will show the links between a test or page detail and an error message. For example, you can use this to figure out what page details failed with a HTTP Status Code of 404.