titan 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +10 -0
- data/README.md +8 -0
- data/lib/titan.rb +3 -0
- data/lib/titan.rbc +75 -12
- data/lib/titan/cli.rb +2 -2
- data/lib/titan/system.rb +36 -0
- data/lib/titan/system.rbc +589 -0
- data/lib/titan/thread.rb +22 -22
- data/lib/titan/thread.rbc +448 -443
- data/lib/titan/version.rb +1 -1
- data/lib/titan/version.rbc +2 -2
- metadata +13 -8
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
## 0.4.0 (February 7, 2011)
|
2
|
+
|
3
|
+
* moved Titan::Thread.pid\_files and Titan::Thread.check\_filesystem
|
4
|
+
to Titan::System
|
5
|
+
|
6
|
+
- Features
|
7
|
+
|
8
|
+
* Added Titan::System that provides common methods
|
9
|
+
* Added Titan::Thread#used\_cpu and Titan::Thread#used\_memory
|
10
|
+
|
1
11
|
## 0.3.0 (December 12, 2010)
|
2
12
|
|
3
13
|
- Features
|
data/README.md
CHANGED
@@ -63,6 +63,14 @@ Furthermore, you can check if a single thread is alive:
|
|
63
63
|
thread = Titan::Thread.find("my_new_thread")
|
64
64
|
thread.alive? # returns true or false
|
65
65
|
|
66
|
+
The thread's memory and CPU usage is available by
|
67
|
+
|
68
|
+
thread.used_memory
|
69
|
+
|
70
|
+
and
|
71
|
+
|
72
|
+
thread.used_cpu
|
73
|
+
|
66
74
|
You can print the status of all threads managed by Titan on the command line:
|
67
75
|
|
68
76
|
titan status
|
data/lib/titan.rb
CHANGED
data/lib/titan.rbc
CHANGED
@@ -81,33 +81,63 @@ x
|
|
81
81
|
5
|
82
82
|
Titan
|
83
83
|
i
|
84
|
-
|
84
|
+
54
|
85
85
|
5
|
86
86
|
66
|
87
|
-
|
87
|
+
65
|
88
88
|
7
|
89
89
|
0
|
90
|
-
|
90
|
+
45
|
91
91
|
1
|
92
|
+
2
|
93
|
+
7
|
94
|
+
3
|
95
|
+
64
|
96
|
+
7
|
97
|
+
4
|
92
98
|
64
|
93
|
-
47
|
94
99
|
49
|
100
|
+
5
|
95
101
|
2
|
102
|
+
49
|
103
|
+
6
|
96
104
|
2
|
97
105
|
15
|
98
106
|
5
|
99
107
|
7
|
100
|
-
3
|
101
108
|
7
|
102
|
-
|
109
|
+
7
|
110
|
+
8
|
103
111
|
64
|
104
112
|
47
|
105
113
|
49
|
114
|
+
9
|
106
115
|
2
|
116
|
+
15
|
117
|
+
5
|
118
|
+
7
|
119
|
+
10
|
120
|
+
7
|
121
|
+
11
|
122
|
+
64
|
123
|
+
47
|
124
|
+
49
|
125
|
+
9
|
126
|
+
2
|
127
|
+
15
|
128
|
+
5
|
129
|
+
7
|
130
|
+
12
|
131
|
+
7
|
132
|
+
13
|
133
|
+
64
|
134
|
+
47
|
135
|
+
49
|
136
|
+
9
|
107
137
|
2
|
108
138
|
11
|
109
139
|
I
|
110
|
-
|
140
|
+
5
|
111
141
|
I
|
112
142
|
0
|
113
143
|
I
|
@@ -116,7 +146,26 @@ I
|
|
116
146
|
0
|
117
147
|
n
|
118
148
|
p
|
119
|
-
|
149
|
+
14
|
150
|
+
x
|
151
|
+
15
|
152
|
+
TITAN_DIRECTORY
|
153
|
+
x
|
154
|
+
4
|
155
|
+
File
|
156
|
+
n
|
157
|
+
s
|
158
|
+
14
|
159
|
+
.titan_threads
|
160
|
+
s
|
161
|
+
1
|
162
|
+
~
|
163
|
+
x
|
164
|
+
11
|
165
|
+
expand_path
|
166
|
+
x
|
167
|
+
9
|
168
|
+
const_set
|
120
169
|
x
|
121
170
|
3
|
122
171
|
CLI
|
@@ -128,22 +177,36 @@ x
|
|
128
177
|
autoload
|
129
178
|
x
|
130
179
|
6
|
180
|
+
System
|
181
|
+
s
|
182
|
+
12
|
183
|
+
titan/system
|
184
|
+
x
|
185
|
+
6
|
131
186
|
Thread
|
132
187
|
s
|
133
188
|
12
|
134
189
|
titan/thread
|
135
190
|
p
|
136
|
-
|
191
|
+
9
|
137
192
|
I
|
138
193
|
2
|
139
194
|
I
|
140
195
|
4
|
141
196
|
I
|
142
|
-
|
197
|
+
15
|
143
198
|
I
|
144
|
-
|
199
|
+
6
|
200
|
+
I
|
201
|
+
20
|
202
|
+
I
|
203
|
+
7
|
204
|
+
I
|
205
|
+
2b
|
206
|
+
I
|
207
|
+
8
|
145
208
|
I
|
146
|
-
|
209
|
+
36
|
147
210
|
x
|
148
211
|
38
|
149
212
|
/Users/stefan/Codes/titan/lib/titan.rb
|
data/lib/titan/cli.rb
CHANGED
@@ -26,9 +26,9 @@ module Titan
|
|
26
26
|
desc "status", "Prints the status of all threads managed by Titan"
|
27
27
|
def status
|
28
28
|
table_header = ["id", "pid", "status"]
|
29
|
-
threads = Titan::Thread.all.each_value.collect
|
29
|
+
threads = Titan::Thread.all.each_value.collect do |thread|
|
30
30
|
[thread.id.to_s, thread.pid.to_s, thread.alive? ? "alive" : "dead"]
|
31
|
-
|
31
|
+
end
|
32
32
|
@shell.print_table(threads.unshift(table_header)) unless threads.empty?
|
33
33
|
end
|
34
34
|
|
data/lib/titan/system.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
module Titan
|
2
|
+
class System
|
3
|
+
class << self
|
4
|
+
#
|
5
|
+
# Calls the ps function of the OS with a given command and process
|
6
|
+
# id
|
7
|
+
#
|
8
|
+
# E.g., if you want to get the used memory of a given process
|
9
|
+
# (pid=10), you can do this by:
|
10
|
+
#
|
11
|
+
# Titan::System.ps('rss', 10).to_i
|
12
|
+
#
|
13
|
+
def ps(command, pid)
|
14
|
+
if pid > 0
|
15
|
+
`ps -o #{command}= -p #{pid}`
|
16
|
+
else
|
17
|
+
nil
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
#
|
22
|
+
# Checks the file system for neccessary directories and permissions
|
23
|
+
#
|
24
|
+
def check_filesystem
|
25
|
+
Dir.mkdir(Titan::TITAN_DIRECTORY) unless File.directory?(Titan::TITAN_DIRECTORY)
|
26
|
+
end
|
27
|
+
|
28
|
+
#
|
29
|
+
# Returns a list of all pid files available in the Titan::TITAN_DIRECTORY
|
30
|
+
#
|
31
|
+
def pid_files
|
32
|
+
Dir.entries(Titan::TITAN_DIRECTORY) - [".", ".."]
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,589 @@
|
|
1
|
+
!RBIX
|
2
|
+
0
|
3
|
+
x
|
4
|
+
M
|
5
|
+
1
|
6
|
+
n
|
7
|
+
n
|
8
|
+
x
|
9
|
+
10
|
10
|
+
__script__
|
11
|
+
i
|
12
|
+
28
|
13
|
+
99
|
14
|
+
7
|
15
|
+
0
|
16
|
+
65
|
17
|
+
49
|
18
|
+
1
|
19
|
+
2
|
20
|
+
13
|
21
|
+
99
|
22
|
+
12
|
23
|
+
7
|
24
|
+
2
|
25
|
+
12
|
26
|
+
7
|
27
|
+
3
|
28
|
+
12
|
29
|
+
65
|
30
|
+
12
|
31
|
+
49
|
32
|
+
4
|
33
|
+
4
|
34
|
+
15
|
35
|
+
49
|
36
|
+
2
|
37
|
+
0
|
38
|
+
15
|
39
|
+
2
|
40
|
+
11
|
41
|
+
I
|
42
|
+
6
|
43
|
+
I
|
44
|
+
0
|
45
|
+
I
|
46
|
+
0
|
47
|
+
I
|
48
|
+
0
|
49
|
+
n
|
50
|
+
p
|
51
|
+
5
|
52
|
+
x
|
53
|
+
5
|
54
|
+
Titan
|
55
|
+
x
|
56
|
+
11
|
57
|
+
open_module
|
58
|
+
x
|
59
|
+
15
|
60
|
+
__module_init__
|
61
|
+
M
|
62
|
+
1
|
63
|
+
n
|
64
|
+
n
|
65
|
+
x
|
66
|
+
5
|
67
|
+
Titan
|
68
|
+
i
|
69
|
+
29
|
70
|
+
5
|
71
|
+
66
|
72
|
+
99
|
73
|
+
7
|
74
|
+
0
|
75
|
+
1
|
76
|
+
65
|
77
|
+
49
|
78
|
+
1
|
79
|
+
3
|
80
|
+
13
|
81
|
+
99
|
82
|
+
12
|
83
|
+
7
|
84
|
+
2
|
85
|
+
12
|
86
|
+
7
|
87
|
+
3
|
88
|
+
12
|
89
|
+
65
|
90
|
+
12
|
91
|
+
49
|
92
|
+
4
|
93
|
+
4
|
94
|
+
15
|
95
|
+
49
|
96
|
+
2
|
97
|
+
0
|
98
|
+
11
|
99
|
+
I
|
100
|
+
6
|
101
|
+
I
|
102
|
+
0
|
103
|
+
I
|
104
|
+
0
|
105
|
+
I
|
106
|
+
0
|
107
|
+
n
|
108
|
+
p
|
109
|
+
5
|
110
|
+
x
|
111
|
+
6
|
112
|
+
System
|
113
|
+
x
|
114
|
+
10
|
115
|
+
open_class
|
116
|
+
x
|
117
|
+
14
|
118
|
+
__class_init__
|
119
|
+
M
|
120
|
+
1
|
121
|
+
n
|
122
|
+
n
|
123
|
+
x
|
124
|
+
6
|
125
|
+
System
|
126
|
+
i
|
127
|
+
28
|
128
|
+
5
|
129
|
+
66
|
130
|
+
5
|
131
|
+
99
|
132
|
+
12
|
133
|
+
49
|
134
|
+
0
|
135
|
+
1
|
136
|
+
13
|
137
|
+
99
|
138
|
+
12
|
139
|
+
7
|
140
|
+
1
|
141
|
+
12
|
142
|
+
7
|
143
|
+
2
|
144
|
+
12
|
145
|
+
65
|
146
|
+
12
|
147
|
+
49
|
148
|
+
3
|
149
|
+
4
|
150
|
+
15
|
151
|
+
54
|
152
|
+
50
|
153
|
+
1
|
154
|
+
0
|
155
|
+
11
|
156
|
+
I
|
157
|
+
6
|
158
|
+
I
|
159
|
+
0
|
160
|
+
I
|
161
|
+
0
|
162
|
+
I
|
163
|
+
0
|
164
|
+
n
|
165
|
+
p
|
166
|
+
4
|
167
|
+
x
|
168
|
+
16
|
169
|
+
object_metaclass
|
170
|
+
x
|
171
|
+
18
|
172
|
+
__metaclass_init__
|
173
|
+
M
|
174
|
+
1
|
175
|
+
n
|
176
|
+
n
|
177
|
+
x
|
178
|
+
18
|
179
|
+
__metaclass_init__
|
180
|
+
i
|
181
|
+
44
|
182
|
+
5
|
183
|
+
66
|
184
|
+
99
|
185
|
+
7
|
186
|
+
0
|
187
|
+
7
|
188
|
+
1
|
189
|
+
65
|
190
|
+
67
|
191
|
+
49
|
192
|
+
2
|
193
|
+
0
|
194
|
+
49
|
195
|
+
3
|
196
|
+
4
|
197
|
+
15
|
198
|
+
99
|
199
|
+
7
|
200
|
+
4
|
201
|
+
7
|
202
|
+
5
|
203
|
+
65
|
204
|
+
67
|
205
|
+
49
|
206
|
+
2
|
207
|
+
0
|
208
|
+
49
|
209
|
+
3
|
210
|
+
4
|
211
|
+
15
|
212
|
+
99
|
213
|
+
7
|
214
|
+
6
|
215
|
+
7
|
216
|
+
7
|
217
|
+
65
|
218
|
+
67
|
219
|
+
49
|
220
|
+
2
|
221
|
+
0
|
222
|
+
49
|
223
|
+
3
|
224
|
+
4
|
225
|
+
11
|
226
|
+
I
|
227
|
+
5
|
228
|
+
I
|
229
|
+
0
|
230
|
+
I
|
231
|
+
0
|
232
|
+
I
|
233
|
+
0
|
234
|
+
n
|
235
|
+
p
|
236
|
+
8
|
237
|
+
x
|
238
|
+
2
|
239
|
+
ps
|
240
|
+
M
|
241
|
+
1
|
242
|
+
n
|
243
|
+
n
|
244
|
+
x
|
245
|
+
2
|
246
|
+
ps
|
247
|
+
i
|
248
|
+
34
|
249
|
+
20
|
250
|
+
1
|
251
|
+
78
|
252
|
+
85
|
253
|
+
0
|
254
|
+
9
|
255
|
+
32
|
256
|
+
5
|
257
|
+
7
|
258
|
+
1
|
259
|
+
20
|
260
|
+
0
|
261
|
+
47
|
262
|
+
49
|
263
|
+
2
|
264
|
+
0
|
265
|
+
7
|
266
|
+
3
|
267
|
+
20
|
268
|
+
1
|
269
|
+
47
|
270
|
+
49
|
271
|
+
2
|
272
|
+
0
|
273
|
+
63
|
274
|
+
4
|
275
|
+
47
|
276
|
+
49
|
277
|
+
4
|
278
|
+
1
|
279
|
+
8
|
280
|
+
33
|
281
|
+
1
|
282
|
+
11
|
283
|
+
I
|
284
|
+
7
|
285
|
+
I
|
286
|
+
2
|
287
|
+
I
|
288
|
+
2
|
289
|
+
I
|
290
|
+
2
|
291
|
+
n
|
292
|
+
p
|
293
|
+
5
|
294
|
+
x
|
295
|
+
1
|
296
|
+
>
|
297
|
+
s
|
298
|
+
6
|
299
|
+
ps -o
|
300
|
+
x
|
301
|
+
4
|
302
|
+
to_s
|
303
|
+
s
|
304
|
+
5
|
305
|
+
= -p
|
306
|
+
x
|
307
|
+
1
|
308
|
+
`
|
309
|
+
p
|
310
|
+
9
|
311
|
+
I
|
312
|
+
0
|
313
|
+
I
|
314
|
+
d
|
315
|
+
I
|
316
|
+
0
|
317
|
+
I
|
318
|
+
e
|
319
|
+
I
|
320
|
+
8
|
321
|
+
I
|
322
|
+
f
|
323
|
+
I
|
324
|
+
20
|
325
|
+
I
|
326
|
+
11
|
327
|
+
I
|
328
|
+
22
|
329
|
+
x
|
330
|
+
45
|
331
|
+
/Users/stefan/Codes/titan/lib/titan/system.rb
|
332
|
+
p
|
333
|
+
2
|
334
|
+
x
|
335
|
+
7
|
336
|
+
command
|
337
|
+
x
|
338
|
+
3
|
339
|
+
pid
|
340
|
+
x
|
341
|
+
17
|
342
|
+
method_visibility
|
343
|
+
x
|
344
|
+
15
|
345
|
+
add_defn_method
|
346
|
+
x
|
347
|
+
16
|
348
|
+
check_filesystem
|
349
|
+
M
|
350
|
+
1
|
351
|
+
n
|
352
|
+
n
|
353
|
+
x
|
354
|
+
16
|
355
|
+
check_filesystem
|
356
|
+
i
|
357
|
+
28
|
358
|
+
45
|
359
|
+
0
|
360
|
+
1
|
361
|
+
45
|
362
|
+
2
|
363
|
+
3
|
364
|
+
43
|
365
|
+
4
|
366
|
+
49
|
367
|
+
5
|
368
|
+
1
|
369
|
+
9
|
370
|
+
16
|
371
|
+
1
|
372
|
+
8
|
373
|
+
27
|
374
|
+
45
|
375
|
+
6
|
376
|
+
7
|
377
|
+
45
|
378
|
+
2
|
379
|
+
8
|
380
|
+
43
|
381
|
+
4
|
382
|
+
49
|
383
|
+
9
|
384
|
+
1
|
385
|
+
11
|
386
|
+
I
|
387
|
+
2
|
388
|
+
I
|
389
|
+
0
|
390
|
+
I
|
391
|
+
0
|
392
|
+
I
|
393
|
+
0
|
394
|
+
n
|
395
|
+
p
|
396
|
+
10
|
397
|
+
x
|
398
|
+
4
|
399
|
+
File
|
400
|
+
n
|
401
|
+
x
|
402
|
+
5
|
403
|
+
Titan
|
404
|
+
n
|
405
|
+
x
|
406
|
+
15
|
407
|
+
TITAN_DIRECTORY
|
408
|
+
x
|
409
|
+
10
|
410
|
+
directory?
|
411
|
+
x
|
412
|
+
3
|
413
|
+
Dir
|
414
|
+
n
|
415
|
+
n
|
416
|
+
x
|
417
|
+
5
|
418
|
+
mkdir
|
419
|
+
p
|
420
|
+
5
|
421
|
+
I
|
422
|
+
0
|
423
|
+
I
|
424
|
+
18
|
425
|
+
I
|
426
|
+
0
|
427
|
+
I
|
428
|
+
19
|
429
|
+
I
|
430
|
+
1c
|
431
|
+
x
|
432
|
+
45
|
433
|
+
/Users/stefan/Codes/titan/lib/titan/system.rb
|
434
|
+
p
|
435
|
+
0
|
436
|
+
x
|
437
|
+
9
|
438
|
+
pid_files
|
439
|
+
M
|
440
|
+
1
|
441
|
+
n
|
442
|
+
n
|
443
|
+
x
|
444
|
+
9
|
445
|
+
pid_files
|
446
|
+
i
|
447
|
+
22
|
448
|
+
45
|
449
|
+
0
|
450
|
+
1
|
451
|
+
45
|
452
|
+
2
|
453
|
+
3
|
454
|
+
43
|
455
|
+
4
|
456
|
+
49
|
457
|
+
5
|
458
|
+
1
|
459
|
+
7
|
460
|
+
6
|
461
|
+
64
|
462
|
+
7
|
463
|
+
7
|
464
|
+
64
|
465
|
+
35
|
466
|
+
2
|
467
|
+
82
|
468
|
+
8
|
469
|
+
11
|
470
|
+
I
|
471
|
+
3
|
472
|
+
I
|
473
|
+
0
|
474
|
+
I
|
475
|
+
0
|
476
|
+
I
|
477
|
+
0
|
478
|
+
n
|
479
|
+
p
|
480
|
+
9
|
481
|
+
x
|
482
|
+
3
|
483
|
+
Dir
|
484
|
+
n
|
485
|
+
x
|
486
|
+
5
|
487
|
+
Titan
|
488
|
+
n
|
489
|
+
x
|
490
|
+
15
|
491
|
+
TITAN_DIRECTORY
|
492
|
+
x
|
493
|
+
7
|
494
|
+
entries
|
495
|
+
s
|
496
|
+
1
|
497
|
+
.
|
498
|
+
s
|
499
|
+
2
|
500
|
+
..
|
501
|
+
x
|
502
|
+
1
|
503
|
+
-
|
504
|
+
p
|
505
|
+
5
|
506
|
+
I
|
507
|
+
0
|
508
|
+
I
|
509
|
+
1f
|
510
|
+
I
|
511
|
+
0
|
512
|
+
I
|
513
|
+
20
|
514
|
+
I
|
515
|
+
16
|
516
|
+
x
|
517
|
+
45
|
518
|
+
/Users/stefan/Codes/titan/lib/titan/system.rb
|
519
|
+
p
|
520
|
+
0
|
521
|
+
p
|
522
|
+
7
|
523
|
+
I
|
524
|
+
2
|
525
|
+
I
|
526
|
+
d
|
527
|
+
I
|
528
|
+
10
|
529
|
+
I
|
530
|
+
18
|
531
|
+
I
|
532
|
+
1e
|
533
|
+
I
|
534
|
+
1f
|
535
|
+
I
|
536
|
+
2c
|
537
|
+
x
|
538
|
+
45
|
539
|
+
/Users/stefan/Codes/titan/lib/titan/system.rb
|
540
|
+
p
|
541
|
+
0
|
542
|
+
x
|
543
|
+
13
|
544
|
+
attach_method
|
545
|
+
p
|
546
|
+
3
|
547
|
+
I
|
548
|
+
2
|
549
|
+
I
|
550
|
+
3
|
551
|
+
I
|
552
|
+
1c
|
553
|
+
x
|
554
|
+
45
|
555
|
+
/Users/stefan/Codes/titan/lib/titan/system.rb
|
556
|
+
p
|
557
|
+
0
|
558
|
+
x
|
559
|
+
13
|
560
|
+
attach_method
|
561
|
+
p
|
562
|
+
3
|
563
|
+
I
|
564
|
+
2
|
565
|
+
I
|
566
|
+
2
|
567
|
+
I
|
568
|
+
1d
|
569
|
+
x
|
570
|
+
45
|
571
|
+
/Users/stefan/Codes/titan/lib/titan/system.rb
|
572
|
+
p
|
573
|
+
0
|
574
|
+
x
|
575
|
+
13
|
576
|
+
attach_method
|
577
|
+
p
|
578
|
+
3
|
579
|
+
I
|
580
|
+
0
|
581
|
+
I
|
582
|
+
1
|
583
|
+
I
|
584
|
+
1c
|
585
|
+
x
|
586
|
+
45
|
587
|
+
/Users/stefan/Codes/titan/lib/titan/system.rb
|
588
|
+
p
|
589
|
+
0
|