Lines Matching +full:clock +full:- +full:name
8 * http://www.apache.org/licenses/LICENSE-2.0
55 RK_S64 diff = end - start; in mpp_time_diff()
62 char name[16]; member
72 MPP_RET check_is_mpp_clock(void *clock) in check_is_mpp_clock() argument
74 if (clock && ((MppClockImpl*)clock)->check == clock_name) in check_is_mpp_clock()
77 mpp_err_f("pointer %p failed on check\n", clock); in check_is_mpp_clock()
82 MppClock mpp_clock_get(const char *name) in mpp_clock_get() argument
86 impl->check = clock_name; in mpp_clock_get()
87 snprintf(impl->name, sizeof(impl->name) - 1, name, NULL); in mpp_clock_get()
94 void mpp_clock_put(MppClock clock) in mpp_clock_put() argument
96 if (NULL == clock || check_is_mpp_clock(clock)) { in mpp_clock_put()
97 mpp_err_f("invalid clock %p\n", clock); in mpp_clock_put()
101 mpp_free(clock); in mpp_clock_put()
104 void mpp_clock_enable(MppClock clock, RK_U32 enable) in mpp_clock_enable() argument
106 if (NULL == clock || check_is_mpp_clock(clock)) { in mpp_clock_enable()
107 mpp_err_f("invalid clock %p\n", clock); in mpp_clock_enable()
109 MppClockImpl *p = (MppClockImpl *)clock; in mpp_clock_enable()
110 p->enable = (enable) ? (1) : (0); in mpp_clock_enable()
114 RK_S64 mpp_clock_start(MppClock clock) in mpp_clock_start() argument
116 if (NULL == clock || check_is_mpp_clock(clock)) { in mpp_clock_start()
117 mpp_err_f("invalid clock %p\n", clock); in mpp_clock_start()
121 MppClockImpl *p = (MppClockImpl *)clock; in mpp_clock_start()
123 if (!p->enable) in mpp_clock_start()
126 p->base = mpp_time(); in mpp_clock_start()
127 p->time = 0; in mpp_clock_start()
128 return p->base; in mpp_clock_start()
131 RK_S64 mpp_clock_pause(MppClock clock) in mpp_clock_pause() argument
133 if (NULL == clock || check_is_mpp_clock(clock)) { in mpp_clock_pause()
134 mpp_err_f("invalid clock %p\n", clock); in mpp_clock_pause()
138 MppClockImpl *p = (MppClockImpl *)clock; in mpp_clock_pause()
140 if (!p->enable) in mpp_clock_pause()
145 if (!p->time) { in mpp_clock_pause()
147 p->sum += time - p->base; in mpp_clock_pause()
148 p->count++; in mpp_clock_pause()
150 p->time = time; in mpp_clock_pause()
151 return p->time - p->base; in mpp_clock_pause()
154 RK_S64 mpp_clock_reset(MppClock clock) in mpp_clock_reset() argument
156 if (NULL == clock || check_is_mpp_clock(clock)) { in mpp_clock_reset()
157 mpp_err_f("invalid clock %p\n", clock); in mpp_clock_reset()
159 MppClockImpl *p = (MppClockImpl *)clock; in mpp_clock_reset()
161 p->base = 0; in mpp_clock_reset()
162 p->time = 0; in mpp_clock_reset()
163 p->sum = 0; in mpp_clock_reset()
164 p->count = 0; in mpp_clock_reset()
170 RK_S64 mpp_clock_get_sum(MppClock clock) in mpp_clock_get_sum() argument
172 if (NULL == clock || check_is_mpp_clock(clock)) { in mpp_clock_get_sum()
173 mpp_err_f("invalid clock %p\n", clock); in mpp_clock_get_sum()
177 MppClockImpl *p = (MppClockImpl *)clock; in mpp_clock_get_sum()
178 return (p->enable) ? (p->sum) : (0); in mpp_clock_get_sum()
181 RK_S64 mpp_clock_get_count(MppClock clock) in mpp_clock_get_count() argument
183 if (NULL == clock || check_is_mpp_clock(clock)) { in mpp_clock_get_count()
184 mpp_err_f("invalid clock %p\n", clock); in mpp_clock_get_count()
188 MppClockImpl *p = (MppClockImpl *)clock; in mpp_clock_get_count()
189 return (p->enable) ? (p->count) : (0); in mpp_clock_get_count()
192 const char *mpp_clock_get_name(MppClock clock) in mpp_clock_get_name() argument
194 if (NULL == clock || check_is_mpp_clock(clock)) { in mpp_clock_get_name()
195 mpp_err_f("invalid clock %p\n", clock); in mpp_clock_get_name()
199 MppClockImpl *p = (MppClockImpl *)clock; in mpp_clock_get_name()
200 return p->name; in mpp_clock_get_name()
205 char name[16]; member
222 if (timer && ((MppTimerImpl*)timer)->check == timer_name) in check_is_mpp_timer()
235 MppThread *thd = impl->thd; in mpp_timer_thread()
236 RK_S32 timer_fd = impl->timer_fd; in mpp_timer_thread()
239 ts.it_value.tv_sec = impl->initial / 1000; in mpp_timer_thread()
240 ts.it_value.tv_nsec = (impl->initial % 1000) * 1000; in mpp_timer_thread()
243 ts.it_interval.tv_sec = impl->interval / 1000; in mpp_timer_thread()
244 ts.it_interval.tv_nsec = (impl->interval % 1000) * 1000 * 1000; in mpp_timer_thread()
253 if (MPP_THREAD_RUNNING != thd->get_status()) in mpp_timer_thread()
261 RK_S32 fd_cnt = epoll_wait(impl->epoll_fd, &events, 1, 500); in mpp_timer_thread()
267 impl->func(impl->ctx); in mpp_timer_thread()
274 MppTimer mpp_timer_get(const char *name) in mpp_timer_get() argument
276 RK_S32 timer_fd = -1; in mpp_timer_get()
277 RK_S32 epoll_fd = -1; in mpp_timer_get()
304 impl->timer_fd = timer_fd; in mpp_timer_get()
305 impl->epoll_fd = epoll_fd; in mpp_timer_get()
307 impl->initial = 1000; in mpp_timer_get()
308 impl->interval = 1000; in mpp_timer_get()
309 impl->check = timer_name; in mpp_timer_get()
310 snprintf(impl->name, sizeof(impl->name) - 1, name, NULL); in mpp_timer_get()
324 timer_fd = -1; in mpp_timer_get()
329 epoll_fd = -1; in mpp_timer_get()
348 impl->func = func; in mpp_timer_set_callback()
349 impl->ctx = ctx; in mpp_timer_set_callback()
360 impl->initial = initial; in mpp_timer_set_timing()
361 impl->interval = interval; in mpp_timer_set_timing()
373 if (NULL == impl->func || impl->initial < 0 || impl->interval < 0) { in mpp_timer_set_enable()
375 impl->func, impl->initial, impl->interval); in mpp_timer_set_enable()
380 if (!impl->enabled && NULL == impl->thd) { in mpp_timer_set_enable()
381 MppThread *thd = new MppThread(mpp_timer_thread, impl, impl->name); in mpp_timer_set_enable()
383 impl->thd = thd; in mpp_timer_set_enable()
384 impl->enabled = 1; in mpp_timer_set_enable()
385 thd->start(); in mpp_timer_set_enable()
389 if (impl->enabled && impl->thd) { in mpp_timer_set_enable()
390 impl->thd->stop(); in mpp_timer_set_enable()
391 impl->enabled = 0; in mpp_timer_set_enable()
405 if (impl->enabled) in mpp_timer_put()
408 if (impl->timer_fd >= 0) { in mpp_timer_put()
409 close(impl->timer_fd); in mpp_timer_put()
410 impl->timer_fd = -1; in mpp_timer_put()
413 if (impl->epoll_fd >= 0) { in mpp_timer_put()
414 close(impl->epoll_fd); in mpp_timer_put()
415 impl->epoll_fd = -1; in mpp_timer_put()
418 if (impl->thd) { in mpp_timer_put()
419 delete impl->thd; in mpp_timer_put()
420 impl->thd = NULL; in mpp_timer_put()
429 AutoTiming::AutoTiming(const char *name) in AutoTiming() argument
432 mName = name; in AutoTiming()
438 mpp_log("%s timing %lld us\n", mName, mEnd - mStart); in ~AutoTiming()
450 char name[STOPWATCH_TRACE_STR_LEN]; member
465 if (stopwatch && ((MppStopwatchImpl*)stopwatch)->check == stopwatch_name) in check_is_mpp_stopwatch()
473 MppStopwatch mpp_stopwatch_get(const char *name) in mpp_stopwatch_get() argument
479 impl->check = stopwatch_name; in mpp_stopwatch_get()
480 snprintf(impl->name, sizeof(impl->name) - 1, name, NULL); in mpp_stopwatch_get()
481 impl->nodes = nodes; in mpp_stopwatch_get()
482 impl->max_count = 8; in mpp_stopwatch_get()
500 impl->show_on_exit = show_on_exit; in mpp_stopwatch_set_show_on_exit()
515 if (impl->filled_count >= impl->max_count) { in mpp_stopwatch_record()
516 RK_S32 max_count = impl->max_count * 2; in mpp_stopwatch_record()
517 MppStopwatchNode *nodes = mpp_realloc(impl->nodes, MppStopwatchNode, in mpp_stopwatch_record()
520 impl->nodes = nodes; in mpp_stopwatch_record()
521 impl->max_count = max_count; in mpp_stopwatch_record()
525 if (impl->filled_count < impl->max_count) { in mpp_stopwatch_record()
526 MppStopwatchNode *node = impl->nodes + impl->filled_count; in mpp_stopwatch_record()
528 node->time = mpp_time(); in mpp_stopwatch_record()
530 RK_S32 len = snprintf(node->event, sizeof(node->event) - 1, in mpp_stopwatch_record()
532 if (len > impl->log_len) in mpp_stopwatch_record()
533 impl->log_len = len; in mpp_stopwatch_record()
535 impl->filled_count++; in mpp_stopwatch_record()
547 if (impl->show_on_exit && impl->nodes && impl->filled_count) { in mpp_stopwatch_put()
548 MppStopwatchNode *node = impl->nodes; in mpp_stopwatch_put()
549 RK_S64 last_time = node->time; in mpp_stopwatch_put()
553 snprintf(fmt, sizeof(fmt) - 1, "%%s %%-%ds: %%6.2f\n", impl->log_len); in mpp_stopwatch_put()
556 for (i = 1; i < impl->filled_count; i++) { in mpp_stopwatch_put()
557 mpp_log(fmt, impl->name, node->event, in mpp_stopwatch_put()
558 (float)(node->time - last_time) / 1000); in mpp_stopwatch_put()
559 last_time = node->time; in mpp_stopwatch_put()
563 MPP_FREE(impl->nodes); in mpp_stopwatch_put()
575 if (impl->filled_count < 2) in mpp_stopwatch_elapsed_time()
578 RK_S64 base_time = impl->nodes[0].time; in mpp_stopwatch_elapsed_time()
579 RK_S64 curr_time = impl->nodes[impl->filled_count - 1].time; in mpp_stopwatch_elapsed_time()
580 RK_S64 elapsed_time = curr_time - base_time; in mpp_stopwatch_elapsed_time()