1d6ad5ee61b6e7cf0cea9e8d499bda2dc2a6d89b
[apps/native/widget/widget.git] / include / debug.h
1 /*
2  * Copyright 2013  Samsung Electronics Co., Ltd
3  *
4  * Licensed under the Flora License, Version 1.1 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://floralicense.org/license/
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #define DbgPrint(format, arg...)    SECURE_LOGD(format, ##arg)
18 #define ErrPrint(format, arg...)    SECURE_LOGE(format, ##arg)
19 #define WarnPrint(format, arg...)   SECURE_LOGW(format, ##arg)
20
21 #if defined(_ENABLE_PERF)
22 #define PERF_INIT() \
23         struct timeval __stv; \
24         struct timeval __etv; \
25         struct timeval __rtv
26
27 #define PERF_BEGIN() do { \
28         if (gettimeofday(&__stv, NULL) < 0) { \
29                 ErrPrint("gettimeofday: %s\n", strerror(errno)); \
30         } \
31 } while (0)
32
33 #define PERF_MARK(tag) do { \
34         if (gettimeofday(&__etv, NULL) < 0) { \
35                 ErrPrint("gettimeofday: %s\n", strerror(errno)); \
36         } \
37         timersub(&__etv, &__stv, &__rtv); \
38         DbgPrint("[%s] %u.%06u\n", tag, __rtv.tv_sec, __rtv.tv_usec); \
39 } while (0)
40 #else
41 #define PERF_INIT()
42 #define PERF_BEGIN()
43 #define PERF_MARK(tag)
44 #endif
45
46 /* End of a file */