Bringing you news, technical articles, and other useful content about Visual Studio ALM and Team Foundation Server
More videos »
The following analysis includes the IT internal offering for TFS and includes trends throughout the second half of 2012 (July – December 2012). Overall, we are continuing to have consistent growth in BGIT servers. The number of users has stayed consistent with some slight variation. The number of builds has a very big range, mostly due to a single instance that ranges from 10’s of builds to millions of builds a month. There have also been efforts to clean up old projects and source files which account for some reduction in numbers.
You can see the data from the first half of 2012 here.
Service Offering
July 2012
December 2012
Growth
Instances
52
58
12%
Unique Users
40,721
38,431
-6%
Team Project Collections
325
392
21%
Team Projects
10,311
10,939
6%
Work Items
16,005,529
18,334,430
15%
Source Code Files
192,167,066
215,031,418
Builds Per Month*
3,901,174
184,191
-95%
Test Cases
3,178,607
3,766,818
19%
* There is a big range of builds per month due to a single server with 10’s of builds to millions of builds, depending on the month
The charts below show the top 10 IT-supported instances in several categories
“Unique Users” are the number of users that have accessed the instance in the month. This includes any TFS operation such as reading reports with data from TFS, using TFS Web Access to view or edit work items, or viewing or checking in source code. The sum of Unique Users for all instances is greater than the Total Unique Users in the top table and in the details table at the end of this mail. This is because some users access more than one instance.
This demonstrates the growth throughout the first half of 2012 for the full internal offering.
Instance
TPCs
Projects
Source Files
Builds Month
Total Builds
1
2,096
2
40
703,103
6,717,364
27,415
610,210
200,681
3,512
7
449,719
450,847
63
28,488
3
1,298
54
289,315
6,095,847
4,685
413,171
30,011
4
895
323,930
5,287,583
6,650
70,004
84,337
5
1,890
16
3,839
96,423
4,064,748
2,356
41,771
3,642
6
715
12
363
718,906
9,506,164
471
96,106
143,378
957
21
319
354,103
4,600,593
2,487
129,847
18,215
8
1,221
20
366
488,028
5,366,684
4,051
290,190
188,114
9
676
244
373,196
4,825,501
1,147
307,373
80,126
10
2,033
22
592
454,677
5,687,463
3,367
90,637
52,710
11
327
23
102
52,945
1,394,232
697
61,622
8,987
548
133
245,297
377,218
224
30,164
68,266
13
1,679
274
528,892
2,770,208
2,519
4,198,213
214,833
14
561
21,698
1,044,117
42
3,113
3,308
15
525
31
76,468
298,180
330
4,304
19,118
3,181
103
1,664,786
34,383,620
13,904
389,991
829
17
763
221
542,028
1,395,821
4,132
112,538
277,919
18
71
15,303
270,877
29
17,891
4,654
19
220
45
59,770
888,136
2,019
45,818
22,076
105
939
1,923
0
1,354
37
527
482,133
9,183,908
4,319
52,585
37,621
864
795
329,674
7,379,725
2,833
47,818
48,297
857
171
215,541
1,438,888
7,130
45,633
53,796
24
59
232
179
25
242
33
82,491
5,128,141
2,365
1,404,737
10,990
26
357
10,465
3,912,576
355
2,004
238
27
117
106
1,106,706
1,899,412
28
584
66,295
123,188
132
444
9,767
354
53
127,972
441,394
905
15,032
7,905
30
453
39
82,003
1,215,608
336
8,175
17,464
1,868
1,416
32
162
31,618
318,937
401
6,142
7,282
115
134,745
799,521
28,476,947
65,722
34
2,837
654,462
5,036,873
49,552
1,506,258
225,300
35
104
219,374
5,456,659
36
92
43,959
669,471
839
265,937
9,851
1,258
213,690
1,436,846
365
18,280
71,390
38
286
349
247,896
3,384,562
267
94,020
25,972
668
447,619
21,432
819
323
122
366,427
6,923,104
170
81,867
126,625
41
582
8,787
88
3,072
400
1,574,266
14,374,742
9,810
1,078,804
612,681
43
2,496
470
1,177,618
11,633,560
4,153
400,581
439,340
44
1,091
226
424,353
25,033,038
3,016
414,834
130,081
1,283
161
586,355
6,555,802
9,213
489,801
111,815
46
72
48
1,872
205,114
61
3,252
47
365,545
533,008
1,077
953,014
262,964
36,067
7,825
49
7,010
1,563,757
579
3,548
152
50
51
2,369
25,138
181
164
2,641
1,080,644
3,224,050
8,662
70,941
19,585
151
55
135
20,042
836,454
79,255
1,307
56
85,424
312,243
961
23,160
5,135
57
1,489
647,191
189,622
13,299
90
186
330,528
892
Erin, could you please include an XLSX of the data so that we can consume the data?
Thanks,
Dusty
Do you have a updated sql sp for TFS2012 we can run on our TPC to get our own stats. Its iteresting information.
Gary
@Gary,
Here are the queries used to get this data. Please note that this is directly querying against the operational DBs and we don't guarantee that the the schemas won't change in future updates.
-- TFS 2010 and TFS 2012
Select count (distinct [ID]) as TheCount from WorkitemsAre with (nolock) -- count of workitems
select count (*) as TheCount from tbl_Projects with (nolock) where state='WellFormed' -- count of projects
select count(distinct IdentityName) as TheCount from tbl_Command (nolock) -- count of active users over the past two weeks
Select isnull (max (BuildId), 0) as TheCount from tbl_build with (nolock) -- count of total builds
select sum(size/128) as TheCount from sysfiles with (nolock) -- size of TPC DB
select count(distinct [ID]) as TheCount from WorkitemsAre with (nolock) WHERE [Work Item Type] = 'Test Case' -- count of test cases
SELECT sum ( a.used_page_count ) * 8 /1024 AS TheCount FROM sys.dm_db_partition_stats a with (nolock) join sys.objects b with (nolock) on a.object_id = b.object_id WHERE b.name = 'attachments' and (index_id=0 OR index_id=1)GROUP BY a.object_id -- size of workitem attachments
select SUM(UncompressedLength)/1024/1024 as TheCount from dbo.tbl_Attachment with (nolock) -- size of test case attachments
select COUNT(c.name)as TheCount from sys.columns c join sys.tables t on c.object_id=t.object_id where t.name='WorkItemslatest' -- count of workitem fields
select COUNT (*) as TheCount from Fields where ReportingType<>0 and fdeleted=0 -- count of reportable fields
-- TFS 2010
select count (FileId) as TheCount from tbl_file with (nolock) -- count of source files
SELECT count(*) as TheCount FROM attachments with (nolock) -- count of work item attachments
SELECT count( distinct attachmentid ) AS TheCount FROM tbl_attachment with (nolock) -- count of test case attachments
-- TFS 2012
select count(distinct fileid) as TheCount from tbl_file (nolock) where ownerid=1 and deletedon is null -- count of source files
select count(distinct fileid) as TheCount from tbl_file (nolock) where ownerid=2 and deletedon is null -- count of WIT attachments
select count(distinct fileid) as TheCount from tbl_file (nolock) where ownerid=4 and deletedon is null -- count of test case attachments
Thanks...I will run the same queries at work on monday :)