/** * profile sqlMap * * @param methodName * sqlMap method name * @param sqlname * sqlMap name */ public static void sqlMap(String methodName, String sqlname) { if (Configure.getInstance().profile_sqlmap_name_enabled == false) return; TraceContext ctx = TraceContextManager.getContext(); if (ctx == null) return; HashedMessageStep p = new HashedMessageStep(); p.start_time = (int) (System.currentTimeMillis() - ctx.startTime); p.time = -1; if (ctx.profile_thread_cputime) { p.start_cpu = (int) (SysJMX.getCurrentThreadCPU() - ctx.startCpu); } p.hash = DataProxy.sendHashedMessage(new StringBuilder(40).append("SQLMAP ").append(methodName).append(" { ") .append(sqlname).append(" }").toString()); ctx.profile.add(p); }
/** * profile sqlMap * * @param methodName * sqlMap method name * @param sqlname * sqlMap name */ public static void sqlMap(String methodName, String sqlname) { if (Configure.getInstance().profile_sqlmap_name_enabled == false) return; TraceContext ctx = TraceContextManager.getContext(); if (ctx == null) return; HashedMessageStep p = new HashedMessageStep(); p.start_time = (int) (System.currentTimeMillis() - ctx.startTime); p.time = -1; if (ctx.profile_thread_cputime) { p.start_cpu = (int) (SysJMX.getCurrentThreadCPU() - ctx.startCpu); } p.hash = DataProxy.sendHashedMessage(new StringBuilder(40).append("SQLMAP ").append(methodName).append(" { ") .append(sqlname).append(" }").toString()); ctx.profile.add(p); }
/** * add xlog profile * profile display like --> msg #value elapsed * @param msg message * @param value any value to display on a profile. * @param elapsed any value to display on a profile. */ public void hashProfile(String msg, int value, int elapsed) { HashedMessageStep step = new HashedMessageStep(); step.hash = DataProxy.sendHashedMessage(msg); step.value = value; step.time = elapsed; step.start_time = (int) (System.currentTimeMillis() - ctx.startTime); if (ctx.profile_thread_cputime) { step.start_cpu = (int) (SysJMX.getCurrentThreadCPU() - ctx.startCpu); } ctx.profile.add(step); }
/** * add xlog profile * profile display like --> msg #value elapsed * @param msg message * @param value any value to display on a profile. * @param elapsed any value to display on a profile. */ public void hashProfile(String msg, int value, int elapsed) { HashedMessageStep step = new HashedMessageStep(); step.hash = DataProxy.sendHashedMessage(msg); step.value = value; step.time = elapsed; step.start_time = (int) (System.currentTimeMillis() - ctx.startTime); if (ctx.profile_thread_cputime) { step.start_cpu = (int) (SysJMX.getCurrentThreadCPU() - ctx.startCpu); } ctx.profile.add(step); }
public static void jspServlet(Object[] arg) { TraceContext ctx = TraceContextManager.getContext(); if (ctx == null || arg.length < 3) return; HashedMessageStep step = new HashedMessageStep(); step.start_time = (int) (System.currentTimeMillis() - ctx.startTime); if (ctx.profile_thread_cputime) { step.start_cpu = (int) (SysJMX.getCurrentThreadCPU() - ctx.startCpu); } step.hash = DataProxy.sendHashedMessage("JSP " + arg[2]); ctx.profile.add(step); }
public static void jspServlet(Object[] arg) { TraceContext ctx = TraceContextManager.getContext(); if (ctx == null || arg.length < 3) return; HashedMessageStep step = new HashedMessageStep(); step.start_time = (int) (System.currentTimeMillis() - ctx.startTime); if (ctx.profile_thread_cputime) { step.start_cpu = (int) (SysJMX.getCurrentThreadCPU() - ctx.startCpu); } step.hash = DataProxy.sendHashedMessage("JSP " + arg[2]); ctx.profile.add(step); }
private static void fetch(TraceContext c) { HashedMessageStep p = new HashedMessageStep(); long time = System.currentTimeMillis() - c.rs_start; p.start_time = (int) (System.currentTimeMillis() - c.startTime); if (c.profile_thread_cputime) { p.start_cpu = (int) (SysJMX.getCurrentThreadCPU() - c.startCpu); } if (RESULT_SET_FETCH == 0) { RESULT_SET_FETCH = DataProxy.sendHashedMessage("RESULT-SET-FETCH"); } p.hash = RESULT_SET_FETCH; p.value = c.rs_count; p.time = (int) time; c.profile.add(p); if (c.rs_count > conf.xlog_error_jdbc_fetch_max) { String msg = "warning too many resultset, over #" + conf.xlog_error_jdbc_fetch_max; int hash = DataProxy.sendError(msg); if (c.error == 0) { c.error = hash; } c.offerErrorEntity(ErrorEntity.of(tooManyRecordException, hash, 0,0)); } }
private static void fetch(TraceContext c) { HashedMessageStep p = new HashedMessageStep(); long time = System.currentTimeMillis() - c.rs_start; p.start_time = (int) (System.currentTimeMillis() - c.startTime); if (c.profile_thread_cputime) { p.start_cpu = (int) (SysJMX.getCurrentThreadCPU() - c.startCpu); } if (RESULT_SET_FETCH == 0) { RESULT_SET_FETCH = DataProxy.sendHashedMessage("RESULT-SET-FETCH"); } p.hash = RESULT_SET_FETCH; p.value = c.rs_count; p.time = (int) time; c.profile.add(p); if (c.rs_count > conf.xlog_error_jdbc_fetch_max) { String msg = "warning too many resultset, over #" + conf.xlog_error_jdbc_fetch_max; int hash = DataProxy.sendError(msg); if (c.error == 0) { c.error = hash; } c.offerErrorEntity(ErrorEntity.of(tooManyRecordException, hash, 0,0)); } }
step.setMessage(DataProxy.sendHashedMessage(JEDIS_COMMAND_MSG), command, key); step.setLevel(ParameterizedMessageLevel.INFO); step.setMessage(DataProxy.sendHashedMessage(JEDIS_COMMAND_ERROR_MSG), command, key, thr.getClass().getName(), msg); step.setLevel(ParameterizedMessageLevel.ERROR);
/** * add xlog profile * profile display like --> #elasped(if the value is not -1) formatted message * @param msg message format (ex- "Hello, my name is %s and my age is %s)" * @param elapsed any value to display on a profile. * @param params message format parameters. */ public void parameterizedProfile(int level, String msg, int elapsed, String... params) { ParameterizedMessageStep step = new ParameterizedMessageStep(); step.setMessage(DataProxy.sendHashedMessage(msg), params); step.setElapsed(elapsed); step.setLevel(ParameterizedMessageLevel.of(level)); step.start_time = (int) (System.currentTimeMillis() - ctx.startTime); if (ctx.profile_thread_cputime) { step.start_cpu = (int) (SysJMX.getCurrentThreadCPU() - ctx.startCpu); } ctx.profile.add(step); }
public static void endPut(Map map) { int size = map.size(); if(size > 0 && size % conf._hook_map_impl_warning_size == 0) { TraceContext ctx = TraceContextManager.getContext(); if(ctx == null) return; if(ctx.error != 0) return; MapValue mv = new MapValue(); mv.put(AlertPack.HASH_FLAG + TextTypes.SERVICE + "_service-name", ctx.serviceHash); String message = "Too many Map entries!\n" + ThreadUtil.getStackTrace(Thread.currentThread().getStackTrace(), 2); HashedMessageStep step = new HashedMessageStep(); step.hash = DataProxy.sendHashedMessage(message); step.value = size; step.start_time = (int) (System.currentTimeMillis() - ctx.startTime); ctx.profile.add(step); mv.put(AlertPack.HASH_FLAG + TextTypes.HASH_MSG + "_full-stack", step.hash); DataProxy.sendAlert(AlertLevel.WARN, "TOO_MANY_MAP_ENTRIES", "too many Map entries, over #" + size, mv); int errorMessageHash = DataProxy.sendError("too many Map entries, over #" + size); if (ctx.error == 0) { ctx.error = errorMessageHash; } ctx.offerErrorEntity(ErrorEntity.of(tooManyCollectionMemebers, errorMessageHash, 0, 0)); } } }
public static void endPut(Map map) { int size = map.size(); if(size > 0 && size % conf._hook_map_impl_warning_size == 0) { TraceContext ctx = TraceContextManager.getContext(); if(ctx == null) return; if(ctx.error != 0) return; MapValue mv = new MapValue(); mv.put(AlertPack.HASH_FLAG + TextTypes.SERVICE + "_service-name", ctx.serviceHash); String message = "Too many Map entries!\n" + ThreadUtil.getStackTrace(Thread.currentThread().getStackTrace(), 2); HashedMessageStep step = new HashedMessageStep(); step.hash = DataProxy.sendHashedMessage(message); step.value = size; step.start_time = (int) (System.currentTimeMillis() - ctx.startTime); ctx.profile.add(step); mv.put(AlertPack.HASH_FLAG + TextTypes.HASH_MSG + "_full-stack", step.hash); DataProxy.sendAlert(AlertLevel.WARN, "TOO_MANY_MAP_ENTRIES", "too many Map entries, over #" + size, mv); int errorMessageHash = DataProxy.sendError("too many Map entries, over #" + size); if (ctx.error == 0) { ctx.error = errorMessageHash; } ctx.offerErrorEntity(ErrorEntity.of(tooManyCollectionMemebers, errorMessageHash, 0, 0)); } } }
step.setMessage(DataProxy.sendHashedMessage(RABBIT_COMMAND_MSG), exchange, routingKey); step.setLevel(ParameterizedMessageLevel.INFO); } else { String msg = thr.toString(); step.setMessage(DataProxy.sendHashedMessage(RABBIT_COMMAND_ERROR_MSG), exchange, routingKey, thr.getClass().getName(), msg); step.setLevel(ParameterizedMessageLevel.ERROR);
/** * add xlog profile * profile display like --> #elasped(if the value is not -1) formatted message * @param msg message format (ex- "Hello, my name is %s and my age is %s)" * @param elapsed any value to display on a profile. * @param params message format parameters. */ public void parameterizedProfile(int level, String msg, int elapsed, String... params) { ParameterizedMessageStep step = new ParameterizedMessageStep(); step.setMessage(DataProxy.sendHashedMessage(msg), params); step.setElapsed(elapsed); step.setLevel(ParameterizedMessageLevel.of(level)); step.start_time = (int) (System.currentTimeMillis() - ctx.startTime); if (ctx.profile_thread_cputime) { step.start_cpu = (int) (SysJMX.getCurrentThreadCPU() - ctx.startCpu); } ctx.profile.add(step); }
step.setMessage(DataProxy.sendHashedMessage(KAFKA_COMMAND_MSG), bootstrapServer, topic); step.setLevel(ParameterizedMessageLevel.INFO); } else { String msg = thr.toString(); step.setMessage(DataProxy.sendHashedMessage(KAFKA_COMMAND_ERROR_MSG), bootstrapServer, topic, thr.getClass().getName(), msg); step.setLevel(ParameterizedMessageLevel.ERROR);
step.time = -1; ctx.threadName = ctx.thread.getName(); step.hash = DataProxy.sendHashedMessage("[driving thread] " + ctx.threadName); ctx.profile.add(step);
HashedMessageStep step = new HashedMessageStep(); step.time = -1; step.hash = DataProxy.sendHashedMessage("end servlet and wait async complete"); step.start_time = (int) (System.currentTimeMillis() - ctx.startTime); ctx.profile.add(step);
HashedMessageStep step = new HashedMessageStep(); step.time = -1; step.hash = DataProxy.sendHashedMessage("end servlet and wait async complete"); step.start_time = (int) (System.currentTimeMillis() - ctx.startTime); ctx.profile.add(step);
step.time = -1; ctx.threadName = ctx.thread.getName(); step.hash = DataProxy.sendHashedMessage("[driving thread] " + ctx.threadName);
step.time = -1; ctx.threadName = ctx.thread.getName(); step.hash = DataProxy.sendHashedMessage("[driving thread] " + ctx.threadName); ctx.profile.add(step);