Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(401)

Side by Side Diff: pkg/analyzer-experimental/lib/src/generated/instrumentation.dart

Issue 12838003: Rename analyzer-experimental to analyzer_experimental. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // This code was auto-generated, is not intended to be edited, and is subject to
2 // significant change. Please see the README file for more information.
3
4 library engine.instrumentation;
5
6 import 'java_core.dart';
7
8 /**
9 * The class {@code Instrumentation} implements support for logging instrumentat ion information.
10 * <p>
11 * Instrumentation information consists of information about specific operations . Those operations
12 * can range from user-facing operations, such as saving the changes to a file, to internal
13 * operations, such as tokenizing source code. The information to be logged is g athered by{@link InstrumentationBuilder instrumentation builder}, created by one of the static methods on
14 * this class such as {@link #builder(Class)} or {@link #builder(String)}.
15 * <p>
16 * Note, however, that until an instrumentation logger is installed using the me thod{@link #setLogger(InstrumentationLogger)}, all instrumentation data will be lost.
17 * <p>
18 * <b>Example</b>
19 * <p>
20 * To collect metrics about how long it took to save a file, you would write som ething like the
21 * following:
22 * <pre>
23 * InstrumentationBuilder instrumentation = Instrumentation.builder(this.getClas s());
24 * // save the file
25 * instrumentation.metric("chars", fileLength).log();
26 * </pre>
27 * The {@code Instrumentation.builder} method creates a new {@link Instrumentati onBuilderinstrumentation builder} and records the time at which it was created. The{@link InstrumentationBuilder#metric(String,long)} appends the information sp ecified by the
28 * arguments and records the time at which the method is called so that the time to complete the
29 * save operation can be calculated. The {@code log} method tells the builder th at all of the data
30 * has been collected and that the resulting information should be logged.
31 * @coverage dart.engine.utilities
32 */
33 class Instrumentation {
34 /**
35 * A builder that will silently ignore all data and logging requests.
36 */
37 static InstrumentationBuilder _NULL_INSTRUMENTATION_BUILDER = new Instrumentat ionBuilder_8();
38 /**
39 * An instrumentation logger that can be used when no other instrumentation lo gger has been
40 * configured. This logger will silently ignore all data and logging requests.
41 */
42 static InstrumentationLogger _NULL_LOGGER = new InstrumentationLogger_9();
43 /**
44 * The current instrumentation logger.
45 */
46 static InstrumentationLogger _CURRENT_LOGGER = _NULL_LOGGER;
47 /**
48 * Create a builder that can collect the data associated with an operation.
49 * @param clazz the class performing the operation (not {@code null})
50 * @return the builder that was created (not {@code null})
51 */
52 static InstrumentationBuilder builder(Type clazz) => _CURRENT_LOGGER.createBui lder(clazz.toString());
53 /**
54 * Create a builder that can collect the data associated with an operation.
55 * @param name the name used to uniquely identify the operation (not {@code nu ll})
56 * @return the builder that was created (not {@code null})
57 */
58 static InstrumentationBuilder builder2(String name) => _CURRENT_LOGGER.createB uilder(name);
59 /**
60 * Return a builder that will silently ignore all data and logging requests.
61 * @return the builder (not {@code null})
62 */
63 static InstrumentationBuilder get nullBuilder => _NULL_INSTRUMENTATION_BUILDER ;
64 /**
65 * Set the logger that should receive instrumentation information to the given logger.
66 * @param logger the logger that should receive instrumentation information
67 */
68 static void set logger(InstrumentationLogger logger3) {
69 _CURRENT_LOGGER = logger3 == null ? _NULL_LOGGER : logger3;
70 }
71 /**
72 * Prevent the creation of instances of this class
73 */
74 Instrumentation() {
75 }
76 }
77 class InstrumentationBuilder_8 implements InstrumentationBuilder {
78 InstrumentationBuilder data(String name, int value) => this;
79 InstrumentationBuilder data2(String name, String value) => this;
80 InstrumentationBuilder data3(String name, List<String> value) => this;
81 InstrumentationLevel get instrumentationLevel => InstrumentationLevel.OFF;
82 void log() {
83 }
84 InstrumentationBuilder metric(String name, int value) => this;
85 InstrumentationBuilder metric2(String name, String value) => this;
86 InstrumentationBuilder metric3(String name, List<String> value) => this;
87 }
88 class InstrumentationLogger_9 implements InstrumentationLogger {
89 InstrumentationBuilder createBuilder(String name) => Instrumentation._NULL_INS TRUMENTATION_BUILDER;
90 }
91 /**
92 * The interface {@code InstrumentationBuilder} defines the behavior of objects used to collect data
93 * about an operation that has occurred and record that data through an instrume ntation logger.
94 * <p>
95 * For an example of using objects that implement this interface, see {@link Ins trumentation}.
96 * @coverage dart.engine.utilities
97 */
98 abstract class InstrumentationBuilder {
99 /**
100 * Append the given data to the data being collected by this builder. The info rmation is declared
101 * to potentially contain data that is either user identifiable or contains us er intellectual
102 * property (but is not guaranteed to contain either).
103 * @param name the name used to identify the data
104 * @param value the value of the data to be collected
105 * @return this builder
106 */
107 InstrumentationBuilder data(String name, int value);
108 /**
109 * Append the given data to the data being collected by this builder. The info rmation is declared
110 * to potentially contain data that is either user identifiable or contains us er intellectual
111 * property (but is not guaranteed to contain either).
112 * @param name the name used to identify the data
113 * @param value the value of the data to be collected
114 * @return this builder
115 */
116 InstrumentationBuilder data2(String name, String value);
117 /**
118 * Append the given data to the data being collected by this builder. The info rmation is declared
119 * to potentially contain data that is either user identifiable or contains us er intellectual
120 * property (but is not guaranteed to contain either).
121 * @param name the name used to identify the data
122 * @param value the value of the data to be collected
123 * @return this builder
124 */
125 InstrumentationBuilder data3(String name, List<String> value);
126 /**
127 * Answer the {@link InstrumentationLevel} of this {@code InstrumentationBuild er}.
128 * @return one of {@link InstrumentationLevel#EVERYTHING}, {@link Instrumentat ionLevel#METRICS},{@link InstrumentationLevel#OFF}
129 */
130 InstrumentationLevel get instrumentationLevel;
131 /**
132 * Log the data that has been collected. The instrumentation builder should no t be used after this
133 * method is invoked. The behavior of any method defined on this interface tha t is used after this
134 * method is invoked is undefined.
135 */
136 void log();
137 /**
138 * Append the given metric to the data being collected by this builder. The in formation is
139 * declared to contain only metrics data (data that is not user identifiable a nd does not contain
140 * user intellectual property).
141 * @param name the name used to identify the data
142 * @param value the value of the data to be collected
143 * @return this builder
144 */
145 InstrumentationBuilder metric(String name, int value);
146 /**
147 * Append the given metric to the data being collected by this builder. The in formation is
148 * declared to contain only metrics data (data that is not user identifiable a nd does not contain
149 * user intellectual property).
150 * @param name the name used to identify the data
151 * @param value the value of the data to be collected
152 * @return this builder
153 */
154 InstrumentationBuilder metric2(String name, String value);
155 /**
156 * Append the given metric to the data being collected by this builder. The in formation is
157 * declared to contain only metrics data (data that is not user identifiable a nd does not contain
158 * user intellectual property).
159 * @param name the name used to identify the data
160 * @param value the value of the data to be collected
161 * @return this builder
162 */
163 InstrumentationBuilder metric3(String name, List<String> value);
164 }
165 /**
166 * The instrumentation recording level representing (1) recording {@link #EVERYT HING} recording of
167 * all instrumentation data, (2) recording only {@link #METRICS} information, or (3) recording
168 * turned {@link #OFF} in which case nothing is recorded.
169 * @coverage dart.engine.utilities
170 */
171 class InstrumentationLevel {
172 /**
173 * Recording all instrumented information
174 */
175 static final InstrumentationLevel EVERYTHING = new InstrumentationLevel('EVERY THING', 0);
176 /**
177 * Recording only metrics
178 */
179 static final InstrumentationLevel METRICS = new InstrumentationLevel('METRICS' , 1);
180 /**
181 * Nothing recorded
182 */
183 static final InstrumentationLevel OFF = new InstrumentationLevel('OFF', 2);
184 static final List<InstrumentationLevel> values = [EVERYTHING, METRICS, OFF];
185 final String __name;
186 final int __ordinal;
187 int get ordinal => __ordinal;
188 InstrumentationLevel(this.__name, this.__ordinal) {
189 }
190 String toString() => __name;
191 }
192 /**
193 * The interface {@code InstrumentationLogger} defines the behavior of objects t hat are used to log
194 * instrumentation data.
195 * <p>
196 * For an example of using objects that implement this interface, see {@link Ins trumentation}.
197 * @coverage dart.engine.utilities
198 */
199 abstract class InstrumentationLogger {
200 /**
201 * Create a builder that can collect the data associated with an operation ide ntified by the given
202 * name.
203 * @param name the name used to uniquely identify the operation
204 * @return the builder that was created
205 */
206 InstrumentationBuilder createBuilder(String name);
207 }
OLDNEW
« no previous file with comments | « pkg/analyzer-experimental/lib/src/generated/html.dart ('k') | pkg/analyzer-experimental/lib/src/generated/java_core.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698