"Fossies" - the Fresh Open Source Software Archive 
Member "memcached-1.6.15/memcached_dtrace.d" (21 Feb 2022, 10708 Bytes) of package /linux/www/memcached-1.6.15.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) D source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
For more information about "memcached_dtrace.d" see the
Fossies "Dox" file reference documentation.
1 /*
2 * Copyright (c) <2008>, Sun Microsystems, Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY SUN MICROSYSTEMS, INC. ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL SUN MICROSYSTEMS, INC. BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27 provider memcached {
28 /**
29 * Fired when a connection object is allocated from the connection pool.
30 * @param connid the connection id
31 */
32 probe conn__allocate(int connid);
33
34 /**
35 * Fired when a connection object is released back to the connection pool.
36 * @param connid the connection id
37 */
38 probe conn__release(int connid);
39
40 /**
41 * Fired when a new connection object is created (there are no more
42 * connection objects in the connection pool).
43 * @param ptr pointer to the connection object
44 */
45 probe conn__create(void *ptr);
46
47 /**
48 * Fired when a connection object is destroyed ("released back to
49 * the memory subsystem").
50 * @param ptr pointer to the connection object
51 */
52 probe conn__destroy(void *ptr);
53
54 /**
55 * Fired when a connection is dispatched from the "main thread" to a
56 * worker thread.
57 * @param connid the connection id
58 * @param threadid the thread id
59 */
60 probe conn__dispatch(int connid, int64_t threadid);
61
62 /**
63 * Allocate memory from the slab allocator.
64 * @param size the requested size
65 * @param slabclass the allocation will be fulfilled in this class
66 * @param slabsize the size of each item in this class
67 * @param ptr pointer to allocated memory
68 */
69 probe slabs__allocate(int size, int slabclass, int slabsize, void* ptr);
70
71 /**
72 * Failed to allocate memory (out of memory).
73 * @param size the requested size
74 * @param slabclass the class that failed to fulfill the request
75 */
76 probe slabs__allocate__failed(int size, int slabclass);
77
78 /**
79 * Fired when a slab class attempts to allocate more space.
80 * @param slabclass class that needs more memory
81 */
82 probe slabs__slabclass__allocate(int slabclass);
83
84 /**
85 * Failed to allocate memory (out of memory).
86 * @param slabclass the class that failed grab more memory
87 */
88 probe slabs__slabclass__allocate__failed(int slabclass);
89
90 /**
91 * Release memory.
92 * @param size the size of the memory
93 * @param slabclass the class the memory belongs to
94 * @param ptr pointer to the memory to release
95 */
96 probe slabs__free(int size, int slabclass, void* ptr);
97
98 /**
99 * Fired when the when we have searched the hash table for a named key.
100 * These two elements provide an insight in how well the hash function
101 * functions. Long traversals are a sign of a less optimal function,
102 * wasting cpu capacity.
103 *
104 * @param key the key searched for
105 * @param keylen length of the key
106 * @param depth the depth in the list of hash table
107 */
108 probe assoc__find(const char *key, int keylen, int depth);
109
110 /**
111 * Fired when a new item has been inserted.
112 * @param key the key just inserted
113 * @param keylen length of the key
114 */
115 probe assoc__insert(const char *key, int keylen);
116
117 /**
118 * Fired when a new item has been removed.
119 * @param key the key just deleted
120 * @param keylen length of the key
121 */
122 probe assoc__delete(const char *key, int keylen);
123
124 /**
125 * Fired when an item is linked into the cache.
126 * @param key the items key
127 * @param keylen length of the key
128 * @param size the size of the data
129 */
130 probe item__link(const char *key, int keylen, int size);
131
132 /**
133 * Fired when an item is deleted.
134 * @param key the items key
135 * @param keylen length of the key
136 * @param size the size of the data
137 */
138 probe item__unlink(const char *key, int keylen, int size);
139
140 /**
141 * Fired when the refcount for an item is reduced.
142 * @param key the items key
143 * @param keylen length of the key
144 * @param size the size of the data
145 */
146 probe item__remove(const char *key, int keylen, int size);
147
148 /**
149 * Fired when the "last refenced" time is updated.
150 * @param key the items key
151 * @param keylen length of the key
152 * @param size the size of the data
153 */
154 probe item__update(const char *key, int keylen, int size);
155
156 /**
157 * Fired when an item is replaced with another item.
158 * @param oldkey the key of the item to replace
159 * @param oldkeylen the length of the old key
160 * @param oldsize the size of the old item
161 * @param newkey the key of the new item
162 * @param newkeylen the length of the new key
163 * @param newsize the size of the new item
164 */
165 probe item__replace(const char *oldkey, int oldkeylen, int oldsize,
166 const char *newkey, int newkeylen, int newsize);
167
168 /**
169 * Fired when the processing of a command starts.
170 * @param connid the connection id
171 * @param request the incoming request
172 * @param size the size of the request
173 */
174 probe process__command__start(int connid, const void *request, int size);
175
176 /**
177 * Fired when the processing of a command is done.
178 * @param connid the connection id
179 * @param response the response to send back to the client
180 * @param size the size of the response
181 */
182 probe process__command__end(int connid, const void *response, int size);
183
184 /**
185 * Fired for a get-command
186 * @param connid connection id
187 * @param key requested key
188 * @param keylen length of the key
189 * @param size size of the key's data (or signed int -1 if not found)
190 * @param casid the casid for the item
191 */
192 probe command__get(int connid, const char *key, int keylen, int size, int64_t casid);
193
194 /**
195 * Fired for an add-command.
196 * @param connid connection id
197 * @param key requested key
198 * @param keylen length of the key
199 * @param size the new size of the key's data (or signed int -1 if
200 * not found)
201 * @param casid the casid for the item
202 */
203 probe command__add(int connid, const char *key, int keylen, int size, int64_t casid);
204
205 /**
206 * Fired for a set-command.
207 * @param connid connection id
208 * @param key requested key
209 * @param keylen length of the key
210 * @param size the new size of the key's data (or signed int -1 if
211 * not found)
212 * @param casid the casid for the item
213 */
214 probe command__set(int connid, const char *key, int keylen, int size, int64_t casid);
215
216 /**
217 * Fired for a replace-command.
218 * @param connid connection id
219 * @param key requested key
220 * @param keylen length of the key
221 * @param size the new size of the key's data (or signed int -1 if
222 * not found)
223 * @param casid the casid for the item
224 */
225 probe command__replace(int connid, const char *key, int keylen, int size, int64_t casid);
226
227 /**
228 * Fired for a prepend-command.
229 * @param connid connection id
230 * @param key requested key
231 * @param keylen length of the key
232 * @param size the new size of the key's data (or signed int -1 if
233 * not found)
234 * @param casid the casid for the item
235 */
236 probe command__prepend(int connid, const char *key, int keylen, int size, int64_t casid);
237
238 /**
239 * Fired for an append-command.
240 * @param connid connection id
241 * @param key requested key
242 * @param keylen length of the key
243 * @param size the new size of the key's data (or signed int -1 if
244 * not found)
245 * @param casid the casid for the item
246 */
247 probe command__append(int connid, const char *key, int keylen, int size, int64_t casid);
248
249 /**
250 * Fired for an touch-command.
251 * @param connid connection id
252 * @param key requested key
253 * @param keylen length of the key
254 * @param size the new size of the key's data (or signed int -1 if
255 * not found)
256 * @param casid the casid for the item
257 */
258 probe command__touch(int connid, const char *key, int keylen, int size, int64_t casid);
259
260 /**
261 * Fired for a cas-command.
262 * @param connid connection id
263 * @param key requested key
264 * @param keylen length of the key
265 * @param size size of the key's data (or signed int -1 if not found)
266 * @param casid the cas id requested
267 */
268 probe command__cas(int connid, const char *key, int keylen, int size, int64_t casid);
269
270 /**
271 * Fired for an incr command.
272 * @param connid connection id
273 * @param key the requested key
274 * @param keylen length of the key
275 * @param val the new value
276 */
277 probe command__incr(int connid, const char *key, int keylen, int64_t val);
278
279 /**
280 * Fired for a decr command.
281 * @param connid connection id
282 * @param key the requested key
283 * @param keylen length of the key
284 * @param val the new value
285 */
286 probe command__decr(int connid, const char *key, int keylen, int64_t val);
287
288 /**
289 * Fired for a delete command.
290 * @param connid connection id
291 * @param key the requested key
292 * @param keylen length of the key
293 */
294 probe command__delete(int connid, const char *key, int keylen);
295
296 };
297
298 #pragma D attributes Unstable/Unstable/Common provider memcached provider
299 #pragma D attributes Private/Private/Common provider memcached module
300 #pragma D attributes Private/Private/Common provider memcached function
301 #pragma D attributes Unstable/Unstable/Common provider memcached name
302 #pragma D attributes Unstable/Unstable/Common provider memcached args