74 client = PStatClient::get_global_pstats();
76 (*this) = client->make_collector_with_relname(0, name);
108 parent._client->make_collector_with_relname(parent._index, name);
118 _client(copy._client),
129 INLINE
void PStatCollector::
131 _client = copy._client;
132 _index = copy._index;
143 INLINE
bool PStatCollector::
155 INLINE
string PStatCollector::
158 return _client->get_collector_name(_index);
170 INLINE
string PStatCollector::
171 get_fullname()
const {
173 return _client->get_collector_fullname(_index);
183 INLINE
void PStatCollector::
184 output(ostream &out)
const {
185 out <<
"PStatCollector(\"" << get_fullname() <<
"\")";
195 INLINE
bool PStatCollector::
198 return _client->is_active(_index, 0);
199 #else // HAVE_THREADS
200 return is_active(_client->get_current_thread());
201 #endif // HAVE_THREADS
210 INLINE
bool PStatCollector::
213 return _client->is_started(_index, 0);
214 #else // HAVE_THREADS
215 return is_started(_client->get_current_thread());
216 #endif // HAVE_THREADS
225 INLINE
void PStatCollector::
228 _client->start(_index, 0);
229 #else // HAVE_THREADS
230 start(_client->get_current_thread());
231 #endif // HAVE_THREADS
240 INLINE
void PStatCollector::
243 _client->stop(_index, 0);
244 #else // HAVE_THREADS
245 stop(_client->get_current_thread());
246 #endif // HAVE_THREADS
257 INLINE
void PStatCollector::
259 _client->clear_level(_index, 0);
270 INLINE
void PStatCollector::
271 set_level(
double level) {
272 _client->set_level(_index, 0, level);
289 INLINE
void PStatCollector::
290 add_level(
double increment) {
307 INLINE
void PStatCollector::
308 sub_level(
double decrement) {
317 INLINE
void PStatCollector::
318 add_level_now(
double increment) {
319 add_level(increment);
328 INLINE
void PStatCollector::
329 sub_level_now(
double decrement) {
330 sub_level(decrement);
340 INLINE
void PStatCollector::
342 if (_level != 0.0f) {
343 _client->add_level(_index, 0, _level);
355 INLINE
double PStatCollector::
358 return _client->get_level(_index, 0);
369 INLINE
void PStatCollector::
370 clear_thread_level() {
372 _client->clear_level(_index, 0);
373 #else // HAVE_THREADS
374 clear_level(_client->get_current_thread());
375 #endif // HAVE_THREADS
385 INLINE
void PStatCollector::
386 set_thread_level(
double level) {
388 _client->set_level(_index, 0, level);
389 #else // HAVE_THREADS
390 set_level(_client->get_current_thread(), level);
391 #endif // HAVE_THREADS
403 INLINE
void PStatCollector::
404 add_thread_level(
double increment) {
406 _client->add_level(_index, 0, increment);
407 #else // HAVE_THREADS
408 add_level(_client->get_current_thread(), increment);
409 #endif // HAVE_THREADS
421 INLINE
void PStatCollector::
422 sub_thread_level(
double decrement) {
424 _client->add_level(_index, 0, -decrement);
425 #else // HAVE_THREADS
426 sub_level(_client->get_current_thread(), decrement);
427 #endif // HAVE_THREADS
436 INLINE
double PStatCollector::
439 return _client->get_level(_index, 0);
440 #else // HAVE_THREADS
441 return get_level(_client->get_current_thread());
442 #endif // HAVE_THREADS
452 INLINE
bool PStatCollector::
454 return _client->is_active(_index, thread._index);
463 INLINE
bool PStatCollector::
465 return _client->is_started(_index, thread._index);
473 INLINE
void PStatCollector::
475 nassertv(_client != NULL);
476 _client->start(_index, thread._index);
488 INLINE
void PStatCollector::
490 _client->start(_index, thread._index, as_of);
498 INLINE
void PStatCollector::
500 _client->stop(_index, thread._index);
512 INLINE
void PStatCollector::
514 _client->stop(_index, thread._index, as_of);
525 INLINE
void PStatCollector::
527 _client->clear_level(_index, thread._index);
537 INLINE
void PStatCollector::
538 set_level(
const PStatThread &thread,
double level) {
539 _client->set_level(_index, thread._index, level);
551 INLINE
void PStatCollector::
552 add_level(
const PStatThread &thread,
double increment) {
553 _client->add_level(_index, thread._index, increment);
565 INLINE
void PStatCollector::
566 sub_level(
const PStatThread &thread,
double decrement) {
567 _client->add_level(_index, thread._index, -decrement);
575 INLINE
double PStatCollector::
577 return _client->get_level(_index, thread._index);
586 INLINE
int PStatCollector::
A lightweight class that represents a single element that may be timed and/or counted via stats...
A lightweight class that represents a single thread of execution to PStats.
PStatCollector()
Creates an invalid PStatCollector.
Manages the communications to report statistics via a network connection to a remote PStatServer...