46 if (client ==
nullptr) {
47 client = PStatClient::get_global_pstats();
49 (*this) = client->make_collector_with_relname(0, name);
72 nassertv(parent._client !=
nullptr);
74 parent._client->make_collector_with_relname(parent._index, name);
82 _client(copy._client),
91INLINE
void PStatCollector::
93 _client = copy._client;
102INLINE
bool PStatCollector::
104 return (_client !=
nullptr);
111INLINE std::string PStatCollector::
113 if (_client !=
nullptr) {
114 return _client->get_collector_name(_index);
116 return std::string();
123INLINE std::string PStatCollector::
124get_fullname()
const {
125 if (_client !=
nullptr) {
126 return _client->get_collector_fullname(_index);
128 return std::string();
134INLINE
void PStatCollector::
135output(std::ostream &out)
const {
136 out <<
"PStatCollector(\"" << get_fullname() <<
"\")";
143INLINE
bool PStatCollector::
146 return _client->is_active(_index, 0);
148 return is_active(_client->get_current_thread());
156INLINE
bool PStatCollector::
159 return _client->is_started(_index, 0);
161 return is_started(_client->get_current_thread());
169INLINE
void PStatCollector::
172 _client->start(_index, 0);
174 start(_client->get_current_thread());
182INLINE
void PStatCollector::
185 _client->stop(_index, 0);
187 stop(_client->get_current_thread());
196INLINE
void PStatCollector::
198 _client->clear_level(_index, 0);
206INLINE
void PStatCollector::
207set_level(
double level) {
208 _client->set_level(_index, 0, level);
221INLINE
void PStatCollector::
222add_level(
double increment) {
235INLINE
void PStatCollector::
236sub_level(
double decrement) {
243INLINE
void PStatCollector::
244add_level_now(
double increment) {
245 add_level(increment);
252INLINE
void PStatCollector::
253sub_level_now(
double decrement) {
254 sub_level(decrement);
262INLINE
void PStatCollector::
264 if (_level != 0.0f) {
265 _client->add_level(_index, 0, _level);
274INLINE
double PStatCollector::
277 return _client->get_level(_index, 0);
285INLINE
void PStatCollector::
286clear_thread_level() {
288 _client->clear_level(_index, 0);
290 clear_level(_client->get_current_thread());
298INLINE
void PStatCollector::
299set_thread_level(
double level) {
301 _client->set_level(_index, 0, level);
303 set_level(_client->get_current_thread(), level);
313INLINE
void PStatCollector::
314add_thread_level(
double increment) {
316 _client->add_level(_index, 0, increment);
318 add_level(_client->get_current_thread(), increment);
328INLINE
void PStatCollector::
329sub_thread_level(
double decrement) {
331 _client->add_level(_index, 0, -decrement);
333 sub_level(_client->get_current_thread(), decrement);
341INLINE
double PStatCollector::
344 return _client->get_level(_index, 0);
346 return get_level(_client->get_current_thread());
354INLINE
bool PStatCollector::
356 return _client->is_active(_index, thread._index);
363INLINE
bool PStatCollector::
365 return _client->is_started(_index, thread._index);
371INLINE
void PStatCollector::
373 nassertv(_client !=
nullptr);
374 _client->start(_index, thread._index);
383INLINE
void PStatCollector::
385 _client->start(_index, thread._index, as_of);
391INLINE
void PStatCollector::
393 _client->stop(_index, thread._index);
402INLINE
void PStatCollector::
404 _client->stop(_index, thread._index, as_of);
412INLINE
void PStatCollector::
414 _client->clear_level(_index, thread._index);
421INLINE
void PStatCollector::
422set_level(
const PStatThread &thread,
double level) {
423 _client->set_level(_index, thread._index, level);
432INLINE
void PStatCollector::
433add_level(
const PStatThread &thread,
double increment) {
434 _client->add_level(_index, thread._index, increment);
443INLINE
void PStatCollector::
444sub_level(
const PStatThread &thread,
double decrement) {
445 _client->add_level(_index, thread._index, -decrement);
451INLINE
double PStatCollector::
453 return _client->get_level(_index, thread._index);
460INLINE
int PStatCollector::
487 if (client ==
nullptr) {
502 if (&parent ==
nullptr) {
Manages the communications to report statistics via a network connection to a remote PStatServer.
A lightweight class that represents a single element that may be timed and/or counted via stats.
PStatCollector()
Creates an invalid PStatCollector.
A lightweight class that represents a single thread of execution to PStats.