Move swaglog to cpp + remove another lib (#1470)

old-commit-hash: 46f3665279
commatwo_master
Adeeb 5 years ago committed by GitHub
parent 708d68722c
commit b1cbd898f1
  1. 3
      SConstruct
  2. 4
      phonelibs/SConscript
  3. 3
      phonelibs/json/get.txt
  4. 3
      phonelibs/json/src/json.c
  5. 3
      phonelibs/json/src/json.h
  6. 5
      release/files_common
  7. 2
      selfdrive/common/SConscript
  8. 45
      selfdrive/common/swaglog.cc

@ -127,7 +127,6 @@ env = Environment(
"#phonelibs/bzip2", "#phonelibs/bzip2",
"#phonelibs/libyuv/include", "#phonelibs/libyuv/include",
"#phonelibs/openmax/include", "#phonelibs/openmax/include",
"#phonelibs/json/src",
"#phonelibs/json11", "#phonelibs/json11",
"#phonelibs/eigen", "#phonelibs/eigen",
"#phonelibs/curl/include", "#phonelibs/curl/include",
@ -212,7 +211,7 @@ Import('_common', '_visionipc', '_gpucommon', '_gpu_libs')
if SHARED: if SHARED:
common, visionipc, gpucommon = abspath(common), abspath(visionipc), abspath(gpucommon) common, visionipc, gpucommon = abspath(common), abspath(visionipc), abspath(gpucommon)
else: else:
common = [_common, 'json'] common = [_common, 'json11']
visionipc = _visionipc visionipc = _visionipc
gpucommon = [_gpucommon] + _gpu_libs gpucommon = [_gpucommon] + _gpu_libs

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:a5934a6cb5c1dd3031adb8eccee3c6419c7c966882c02dd978e772130c8f397e oid sha256:d1c7a88b02354d583772474d437fff10a191740d5f06d471a0b61ee9a7957f7a
size 446 size 366

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2eb191c6ab7a457fe54a1fa04597ead10876111ffdd936c9ccfca010c258bd11
size 80

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1e39e76315aa470f9a3f8b3bd0dfa56dd07bb9aa2daf36a6b37e7d84b9165e21
size 29298

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8e647e8960b76dd9b022132d9fb9aa115f07ba004ed41b7704add69fd8da5b66
size 3492

@ -167,7 +167,8 @@ selfdrive/common/touch.[c,h]
selfdrive/common/visionipc.[c,h] selfdrive/common/visionipc.[c,h]
selfdrive/common/visionbuf_cl.c selfdrive/common/visionbuf_cl.c
selfdrive/common/ipc.[c,h] selfdrive/common/ipc.[c,h]
selfdrive/common/swaglog.[c,h] selfdrive/common/swaglog.h
selfdrive/common/swaglog.cc
selfdrive/common/util.[c,h] selfdrive/common/util.[c,h]
selfdrive/common/efd.[c,h] selfdrive/common/efd.[c,h]
selfdrive/common/cqueue.[c,h] selfdrive/common/cqueue.[c,h]
@ -405,8 +406,6 @@ phonelibs/openmax/**
phonelibs/zmq/aarch64/lib/* phonelibs/zmq/aarch64/lib/*
phonelibs/json/src/json.c
phonelibs/json/src/json.h
phonelibs/json11/json11.cpp phonelibs/json11/json11.cpp
phonelibs/json11/json11.hpp phonelibs/json11/json11.hpp

@ -5,7 +5,7 @@ if SHARED:
else: else:
fxn = env.Library fxn = env.Library
_common = fxn('common', ['params.cc', 'swaglog.c', 'util.c', 'cqueue.c'], LIBS="json") _common = fxn('common', ['params.cc', 'swaglog.cc', 'util.c', 'cqueue.c'], LIBS="json11")
_visionipc = fxn('visionipc', ['visionipc.c', 'ipc.c']) _visionipc = fxn('visionipc', ['visionipc.c', 'ipc.c'])
files = [ files = [

@ -1,15 +1,15 @@
#ifndef _GNU_SOURCE
#define _GNU_SOURCE #define _GNU_SOURCE
#endif
#include <stdio.h> #include <string>
#include <stdlib.h>
#include <stdarg.h>
#include <stdbool.h>
#include <string.h> #include <string.h>
#include <assert.h> #include <assert.h>
#include <pthread.h> #include <pthread.h>
#include <zmq.h> #include <zmq.h>
#include <json.h>
#include "json11.hpp"
#include "common/timing.h" #include "common/timing.h"
#include "common/version.h" #include "common/version.h"
@ -19,7 +19,7 @@
typedef struct LogState { typedef struct LogState {
pthread_mutex_t lock; pthread_mutex_t lock;
bool inited; bool inited;
JsonNode *ctx_j; json11::Json::object ctx_j;
void *zctx; void *zctx;
void *sock; void *sock;
int print_level; int print_level;
@ -30,12 +30,12 @@ static LogState s = {
}; };
static void cloudlog_bind_locked(const char* k, const char* v) { static void cloudlog_bind_locked(const char* k, const char* v) {
json_append_member(s.ctx_j, k, json_mkstring(v)); s.ctx_j[k] = v;
} }
static void cloudlog_init() { static void cloudlog_init() {
if (s.inited) return; if (s.inited) return;
s.ctx_j = json_mkobject(); s.ctx_j = json11::Json::object {};
s.zctx = zmq_ctx_new(); s.zctx = zmq_ctx_new();
s.sock = zmq_socket(s.zctx, ZMQ_PUSH); s.sock = zmq_socket(s.zctx, ZMQ_PUSH);
zmq_connect(s.sock, "ipc:///tmp/logmessage"); zmq_connect(s.sock, "ipc:///tmp/logmessage");
@ -58,8 +58,7 @@ static void cloudlog_init() {
cloudlog_bind_locked("dongle_id", dongle_id); cloudlog_bind_locked("dongle_id", dongle_id);
} }
cloudlog_bind_locked("version", COMMA_VERSION); cloudlog_bind_locked("version", COMMA_VERSION);
bool dirty = !getenv("CLEAN"); s.ctx_j["dirty"] = !getenv("CLEAN");
json_append_member(s.ctx_j, "dirty", json_mkbool(dirty));
s.inited = true; s.inited = true;
} }
@ -84,23 +83,19 @@ void cloudlog_e(int levelnum, const char* filename, int lineno, const char* func
printf("%s: %s\n", filename, msg_buf); printf("%s: %s\n", filename, msg_buf);
} }
JsonNode *log_j = json_mkobject(); json11::Json log_j = json11::Json::object {
assert(log_j); {"msg", msg_buf},
{"ctx", s.ctx_j},
json_append_member(log_j, "msg", json_mkstring(msg_buf)); {"levelnum", levelnum},
json_append_member(log_j, "ctx", s.ctx_j); {"filename", filename},
json_append_member(log_j, "levelnum", json_mknumber(levelnum)); {"lineno", lineno},
json_append_member(log_j, "filename", json_mkstring(filename)); {"funcname", func},
json_append_member(log_j, "lineno", json_mknumber(lineno)); {"created", seconds_since_epoch()}
json_append_member(log_j, "funcname", json_mkstring(func)); };
json_append_member(log_j, "created", json_mknumber(seconds_since_epoch()));
char* log_s = strdup(log_j.dump().c_str());
char* log_s = json_encode(log_j);
assert(log_s); assert(log_s);
json_remove_from_parent(s.ctx_j);
json_delete(log_j);
free(msg_buf); free(msg_buf);
char levelnum_c = levelnum; char levelnum_c = levelnum;
Loading…
Cancel
Save