public final class DTraceProviderFactory extends ProviderFactory
The DTrace script mechanisms for listing and matching probes will not see
nor match any probes until the provider they reside in is created by a
call to createProvider() (or createProviders()).
Providers that are created should be disposed of when they are no longer
needed to free up system resources, at which point the associated
DTrace probes will no longer be available to DTrace. One disposes a
provider by calling
Provider.dispose() on a
created provider instance.
| Constructor and Description |
|---|
DTraceProviderFactory() |
| Modifier and Type | Method and Description |
|---|---|
<T extends Provider> |
createProvider(Class<T> cls)
Creates an instance of a provider which can then be used to trigger
DTrace probes.
|
Map<Class<? extends Provider>,Provider> |
createProviders(Set<Class<? extends Provider>> providers,
String moduleName)
Creates multiple providers at once.
|
static boolean |
isSupported()
Used to check the status of DTrace support in the underlying JVM and
operating system.
|
getDefaultFactorypublic <T extends Provider> T createProvider(Class<T> cls)
createProvider in class ProviderFactorycls - A user-defined interface which extends Provider.SecurityException - if a security manager has been
installed and it denies
RuntimePermission("com.sun.dtrace.jsdt.createProvider")IllegalArgumentException - if the interface contains
methods that do not return null, or that contain arguments that are
not String or integer types.public Map<Class<? extends Provider>,Provider> createProviders(Set<Class<? extends Provider>> providers, String moduleName)
createProvider, but operates on a set of providers instead
of one at a time. This method is in place since some DTrace
implementations limit the number of times that providers can be
created. When numerous providers can be created at once with this
method, it will count only as a single creation point to DTrace, thus
it uses less system resources.
All of the probes in the providers will be visible to DTrace after this call and all will remain visible until all of the providers are disposed.
The moduleName parameter will override any ModuleName
annotation associated with any of the providers in the set.
All of the probes created by this call will share the same
module name.
providers - a set of provider specification interfacesmoduleName - the module name to associate with all probesSecurityException - if a security manager has been
installed and it denies
RuntimePermission("com.sun.dtrace.jsdt.createProvider")IllegalArgumentException - if any of the interface
contains methods that do not return null, or that contain arguments
that are not String or integer types.public static boolean isSupported()
Copyright © 2012. All Rights Reserved.