Lines Matching +full:real +full:- +full:time
8 * http://www.apache.org/licenses/LICENSE-2.0
52 --len; in is_prio()
66 --len; in is_timestamp()
69 --len; in is_timestamp()
73 --len; in is_timestamp()
84 // \(\(<[0-9]\{1,4\}>\)\([[] *[0-9]+[.][0-9]+[]] \)\{0,1\}\|[[]
85 // *[0-9]+[.][0-9]+[]] \)
87 // We allow nuls in content, monitoring the overall length and sub-length of
107 *--s = '<'; in log_strntok_r()
114 *--s = '['; in log_strntok_r()
121 --len; in log_strntok_r()
133 --len; in log_strntok_r()
138 s[-1] = '\0'; in log_strntok_r()
146 s[-1] = '\0'; in log_strntok_r()
152 adjust = peek - s; in log_strntok_r()
157 len -= adjust; in log_strntok_r()
159 if ((*s == '[') && ((peek = is_timestamp(s + 1, len - 1)))) { in log_strntok_r()
160 adjust = peek - s; in log_strntok_r()
165 len -= adjust; in log_strntok_r()
174 s[-1] = '\0'; in log_strntok_r()
184 adjust = peek - s; in log_strntok_r()
189 len -= adjust; in log_strntok_r()
200 : (log_time(CLOCK_REALTIME) - log_time(CLOCK_MONOTONIC));
228 if (len < (ssize_t)(sizeof(buffer) - 1)) { in onDataAvailable()
230 read(cli->getSocket(), buffer + len, sizeof(buffer) - 1 - len); in onDataAvailable()
239 bool full = len == (sizeof(buffer) - 1); in onDataAvailable()
262 static const char real_format[] = "%Y-%m-%d %H:%M:%S.%09q UTC"; in calculateCorrection()
265 log_time real(log_time::EPOCH); in calculateCorrection() local
266 const char* ep = real.strptime(real_string, real_format); in calculateCorrection()
267 if (!ep || (ep > &real_string[len]) || (real > log_time(CLOCK_REALTIME))) { in calculateCorrection()
273 time_t now = real.tv_sec; in calculateCorrection()
274 struct tm tm = {.tm_isdst = -1}; in calculateCorrection()
276 if ((tm.tm_gmtoff < 0) && ((-tm.tm_gmtoff) > (long)real.tv_sec)) { in calculateCorrection()
277 real = log_time(log_time::EPOCH); in calculateCorrection()
279 real.tv_sec += tm.tm_gmtoff; in calculateCorrection()
281 if (monotonic > real) { in calculateCorrection()
284 correction = real - monotonic; in calculateCorrection()
295 if (cp && (cp > &buf[len - 1])) cp = nullptr; in sniffTime()
298 len -= cp - buf; in sniffTime()
301 --len; in sniffTime()
307 (((b += strlen(suspendStr)) - cp) < len)) { in sniffTime()
308 len -= b - cp; in sniffTime()
311 (((b += strlen(resumeStr)) - cp) < len)) { in sniffTime()
312 len -= b - cp; in sniffTime()
315 (((b += strlen(suspendedStr)) - cp) < len)) { in sniffTime()
316 len -= b - cp; in sniffTime()
317 log_time real(log_time::EPOCH); in sniffTime() local
319 real.tv_sec = strtol(b, &endp, 10); in sniffTime()
320 if ((*endp == '.') && ((endp - b) < len)) { in sniffTime()
322 real.tv_nsec = 0; in sniffTime()
323 len -= endp - b; in sniffTime()
324 while (--len && isdigit(*++endp) && (multiplier /= 10)) { in sniffTime()
325 real.tv_nsec += (*endp - '0') * multiplier; in sniffTime()
328 if (real > correction) { in sniffTime()
331 correction -= real; in sniffTime()
334 correction += real; in sniffTime()
339 time_t current_time_utc = time(nullptr); in sniffTime()
341 current_time_utc - last_correction_time_utc > 60) { in sniffTime()
342 log_time real(CLOCK_REALTIME); in sniffTime() local
344 correction = (real < mono) ? log_time(log_time::EPOCH) : (real - mono); in sniffTime()
362 // pseudo out-of-bounds access since we always have an extra char on buffer. in sniffPid()
371 if (sscanf(cp, "[%d:%*[a-z_./0-9:A-Z]]%c", &pid, &placeholder) == 2) { in sniffPid()
377 --len; in sniffPid()
383 --i; in sniffPid()
390 --i; in sniffPid()
407 while (--len && isdigit(*++cp)) { in parseKernelPrio()
408 pri = (pri * 10) + *cp - '0'; in parseKernelPrio()
449 for (; len > 0; ++s, len--) { in strnrchr()
460 // Filter rules to parse <PRI> <TIME> <tag> and <message> in order for
464 // <PRI>[<TIME>] <tag> ":" <message>
465 // <PRI>[<TIME>] <tag> <tag> ":" <message>
466 // <PRI>[<TIME>] <tag> <tag>_work ":" <message>
467 // <PRI>[<TIME>] <tag> '<tag>.<num>' ":" <message>
468 // <PRI>[<TIME>] <tag> '<tag><num>' ":" <message>
469 // <PRI>[<TIME>] <tag>_host '<tag>.<num>' ":" <message>
470 // (unimplemented) <PRI>[<TIME>] <tag> '<num>.<tag>' ":" <message>
471 // <PRI>[<TIME>] "[INFO]"<tag> : <message>
472 // <PRI>[<TIME>] "------------[ cut here ]------------" (?)
473 // <PRI>[<TIME>] "---[ end trace 3225a3070ca3e4ac ]---" (?)
476 // <PRI+TAG>[<TIME>] (see sys/syslog.h)
488 // return -1 if message logd.klogd: <signature>
498 log_time now = sniffTime(p, len - (p - buf), false); in log()
502 const pid_t pid = sniffPid(p, len - (p - buf)); in log()
506 uid = stats_->PidToUid(pid); in log()
522 ssize_t taglen = len - (p - buf); in log()
529 // <PRI>[<TIME>] "[INFO]"<tag> ":" message in log()
531 taglen -= infoBraceLen; in log()
536 ++et, --taglen) { in log()
541 --taglen; in log()
549 for (cp = et; (taglen > 0) && isspace(*cp); ++cp, --taglen) { in log()
553 ssize_t size = et - bt; in log()
565 if (!fastcmp<strncasecmp>(bt + 1, cp + 1, size - 1)) { // no match in log()
566 // <PRI>[<TIME>] <tag> <tag> : message in log()
567 // <PRI>[<TIME>] <tag> <tag>: message in log()
568 // <PRI>[<TIME>] <tag> '<tag>.<num>' : message in log()
569 // <PRI>[<TIME>] <tag> '<tag><num>' : message in log()
570 // <PRI>[<TIME>] <tag> '<tag><stuff>' : message in log()
573 taglen -= size; in log()
574 while ((--taglen > 0) && !isspace(*++cp) && (*cp != ':')) { in log()
577 for (e = cp; (taglen > 0) && isspace(*cp); ++cp, --taglen) { in log()
585 // what about <PRI>[<TIME>] <tag>_host '<tag><stuff>' : message in log()
589 !fastcmp<strncmp>(bt + size - hostlen, host, hostlen) && in log()
590 !fastcmp<strncmp>(bt + 1, cp + 1, size - hostlen - 1)) { in log()
592 cp += size - hostlen; in log()
593 taglen -= size - hostlen; in log()
595 while ((--taglen > 0) && !isspace(*++cp) && in log()
600 ++cp, --taglen) { in log()
613 // <PRI>[<TIME>] <tag> <stuff>' : message in log()
615 while ((--taglen > 0) && !isspace(*++cp) && (*cp != ':')) { in log()
618 for (e = cp; (taglen > 0) && isspace(*cp); ++cp, --taglen) { in log()
638 size = etag - tag; in log()
654 // eg: [143:healthd]healthd -> [143:healthd] in log()
655 taglen = etag - tag; in log()
656 // Mediatek-special printk induced stutter in log()
659 ssize_t s = etag - mp; in log()
660 if (((s + s) < taglen) && !fastcmp<memcmp>(mp, mp - 1 - s, s)) { in log()
661 taglen = mp - tag; in log()
665 if (len < (p - buf)) { in log()
673 ssize_t b = len - (p - buf); in log()
674 while ((b > 0) && (isspace(p[b - 1]) || !p[b - 1])) { in log()
675 --b; in log()
693 return -EINVAL; in log()
700 // truncating length argument to logbuf->log() below. Gain is protection in log()
701 // against stack corruption and speedup, loss is truncated long-line content. in log()
705 // Convert priority into single-byte Android logger priority in log()
721 // integer quarter-hour jumps in the time and compensate accordingly. in log()
731 int diff0 = (vote_time[0] - vote_time[1]) / near_seconds; in log()
732 unsigned abs0 = (diff0 < 0) ? -diff0 : diff0; in log()
733 int diff1 = (vote_time[1] - vote_time[2]) / near_seconds; in log()
734 unsigned abs1 = (diff1 < 0) ? -diff1 : diff1; in log()
739 now.tv_sec -= (diff0 < 0) ? -abs0 : abs0; in log()
745 int rc = logbuf->Log(LOG_ID_KERNEL, now, uid, pid, tid, newstr, (uint16_t)n); in log()