diff --git a/lib/Microsoft.VisualStudio.Profiler.dll b/lib/Microsoft.VisualStudio.Profiler.dll new file mode 100644 index 0000000000..cf361ba3a0 Binary files /dev/null and b/lib/Microsoft.VisualStudio.Profiler.dll differ diff --git a/lib/Microsoft.VisualStudio.Profiler.xml b/lib/Microsoft.VisualStudio.Profiler.xml new file mode 100644 index 0000000000..67f5c2a43f --- /dev/null +++ b/lib/Microsoft.VisualStudio.Profiler.xml @@ -0,0 +1,145 @@ + + + + Microsoft.VisualStudio.Profiler + + + + The DataCollection class enables you to programmatically control the amount of data collected during profiling in the .vsp file. To programmatically control data collection, use methods and property of the DataCollection class in your managed code. + + + The CommentMarkAtProfile method inserts a timestamp value, a numeric mark and a comment string in the .vsp file. The timestamp value can be used to synchronize external events. Profiling for the thread containing the CommentMarkAtProfile function must be ON for the mark and comment to be inserted. + The return value, MarkOperationResult, is an enum. + A 64-bit integer representing a timestamp value. + The numeric marker to insert. The marker must greater than or equal to 0 (zero). + A pointer to the text string to insert. The string must be less than 256 characters including the NULL terminator. + + + The CommentMarkProfile method inserts a numeric marker and a text string in the .vsp file. Profiling for the thread containing the CommentMarkProfile function must be ON for the mark and comment to be inserted. + The return value, MarkOperationResult, is an enum. + The numeric marker to insert. The marker must greater than or equal to 0 (zero). + A pointer to the text string to insert. The string must be less than 256 characters including the NULL terminator. + + + The CurrentId property returns the pseudo-token for the thread id or process id, in a call to NameProfile, StartProfile, StopProfile, SuspendProfile, and ResumeProfile. Use this property to cause the method to operate on the current thread or process, rather than a specifically indicated one. + An unsigned integer value for the process or thread identifier. + + + The MarkProfile method inserts a profile mark in the .vsp file. Profiling for the thread containing the MarkProfile function must be ON for the mark to be inserted. + The return value, MarkOperationResult, is an enum. + The marker to insert. The marker must be greater than or equal to 0 (zero). + + + The NameProfile method assigns a string to the specified process or thread. + The return value, NameOperationResult, is an enum. + The name of the profiling element. + Identifies the execution level of the identifier specified in elementId. + Profiling level identifier. Use the process or thread identifier that is generated by the system. + + + The ResumeProfile method decrements the Suspend/Resume counter for the specified profiling level. + The return value, ProfileOperationResult, is an enum. + Identifies the execution level of the identifier specified in elementId. + The process or thread identifier generated by the system. + + + The StartProfile method sets the counter to 1 (on) for the specified profiling level. + The return value, ProfileOperationResult, is an enum. + Identifies the execution level of the identifier specified in elementId. + The process or thread identifier generated by the system. + + + The StopProfile method sets the counter to 0 (off) for the specified profiling level. + The return value, ProfileOperationResult, is an enum. + Identifies the execution level of the identifier specified in elementId. + The process or thread identifier generated by the system. + + + The SuspendProfile method increments the Suspend/Resume counter for the specified profiling level. + The return value, ProfileOperationResult, is an enum. + Identifies the execution level of the identifier specified in elementId. + The process or thread identifier generated by the system. + + + CommentMarkAtProfile, CommentMarkProfile, and MarkProfile return success or failure using the MarkOperationResult enum. + + + The parameter is less than or equal to 0. These values are reserved. The mark and comment are not recorded. + + + The profiling mode was set to NEVER when the function was called. The mark and comment are not recorded. + + + The global profiling level was set to OFF when the function was called. The mark and comment are not recorded. + + + No mark support in this context. The mark and comment are not recorded. + + + Memory was not available to record the event. The mark and comment are not recorded. + + + The string exceeds the maximum of 256 characters. The comment string is truncated and the mark and comment are recorded. + + + The call was successful. + + + NameProfile method returns NameOperationResult enum to indicate success or failure. + + + The profiling element specified does not exist. + + + The name is invalid. + + + The profile level specified does not exist. + + + The specified operation is not supported. + + + Memory was not available to record the event. + + + A name was already assigned to the profile element. The name in this function is ignored. + + + The name text exceeded 32 characters including the null character and was therefore truncated. + + + Name was registered successfully. + + + ProfileLevel enum is used indicate one of the three levels to which performance data collection can be applied. + + + Global level setting affects all processes and threads in the profiling run. + + + Process level setting affect all threads which are part of specified process. + + + Thread profiling Level setting affects the specified thread. + + + ResumeProfile, StartProfile, StopProfile, and SuspendProfile return success or failure using the ProfileOperationResult enum. + + + The profiling element does not exist. + + + The profiling level specified does not exist. + + + The profiling mode was set to NEVER when the function was called. + + + The profiling function call, profiling level, or combination of call and level is not yet implemented. + + + The call was successful. + + + \ No newline at end of file diff --git a/src/Benchmark/Benchmark.csproj b/src/Benchmark/Benchmark.csproj index ec6fb4b7ac..cd8f87b6c1 100644 --- a/src/Benchmark/Benchmark.csproj +++ b/src/Benchmark/Benchmark.csproj @@ -58,8 +58,9 @@ x86 - - $(DevEnvDir)..\..\Team Tools\Performance Tools\Microsoft.VisualStudio.Profiler.dll + + False + ..\..\lib\Microsoft.VisualStudio.Profiler.dll