本文整理汇总了Java中scouter.lang.pack.XLogPack类的典型用法代码示例。如果您正苦于以下问题:Java XLogPack类的具体用法?Java XLogPack怎么用?Java XLogPack使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
XLogPack类属于scouter.lang.pack包,在下文中一共展示了XLogPack类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: xlog
import scouter.lang.pack.XLogPack; //导入依赖的package包/类
@ServerPlugin(PluginConstants.PLUGIN_SERVER_XLOG)
public void xlog(XLogPack pack) {
if (conf.getBoolean("ext_plugin_teamup_xlog_enabled", true)) {
println("[ext_plugin_teamup_xlog_enabled true]");
if (pack.error != 0) {
String date = DateUtil.yyyymmdd(pack.endTime);
String service = TextRD.getString(date, TextTypes.SERVICE, pack.service);
String patterns = conf.getValue("ext_plugin_teamup_error_escape_method_patterns").length()>0?conf.getValue("ext_plugin_teamup_error_escape_method_patterns"):"*";
if (!PatternsUtil.isValid(patterns, service)) {
AlertPack ap = new AlertPack();
ap.level = AlertLevel.ERROR;
ap.objHash = pack.objHash;
ap.title = "Ultron Error";
ap.message = service + " - " + TextRD.getString(date, TextTypes.ERROR, pack.error);
ap.time = System.currentTimeMillis();
ap.objType = "scouter";
alert(ap);
}else{
println("escape service : " + service);
}
}
}
}
示例2: xlog
import scouter.lang.pack.XLogPack; //导入依赖的package包/类
/**
* XLogPack 발생 시 처리
* @param pack
*/
@ServerPlugin(PluginConstants.PLUGIN_SERVER_XLOG)
public void xlog(XLogPack pack) {
try {
if (serviceStatMap.get(pack.objHash) == null) {
serviceStatMap.put(pack.objHash, new ConcurrentHashMap<Integer, ServiceStat>());
}
if (serviceStatMap.get(pack.objHash).get(pack.service) == null) {
serviceStatMap.get(pack.objHash).put(pack.service, new ServiceStat(pack.objHash, pack.service));
}
String serviceName = TextRD.getString(DateUtil.yyyymmdd(pack.endTime), TextTypes.SERVICE, pack.service);
InetAddress inetAddr = InetAddress.getByAddress(pack.ipaddr);
serviceStatMap.get(pack.objHash).get(pack.service).add(serviceName, pack.elapsed, pack.error != 0, inetAddr == null ? null : inetAddr.getHostAddress(), pack.userAgent, pack.sqlCount, pack.sqlTime);
} catch (Exception e) {
Logger.printStackTrace(e);
}
}
示例3: xlog
import scouter.lang.pack.XLogPack; //导入依赖的package包/类
@ServerPlugin(PluginConstants.PLUGIN_SERVER_XLOG)
public void xlog(XLogPack pack) {
try {
int elapsedThreshold = conf.getInt("ext_plugin_elapsed_time_threshold", 0);
if (elapsedThreshold != 0 && pack.elapsed > elapsedThreshold) {
String serviceName = TextRD.getString(DateUtil.yyyymmdd(pack.endTime), TextTypes.SERVICE, pack.service);
AlertPack ap = new AlertPack();
ap.level = AlertLevel.WARN;
ap.objHash = pack.objHash;
ap.title = "Elapsed time exceed a threshold.";
ap.message = "[" + AgentManager.getAgentName(pack.objHash) + "] "
+ pack.service + "(" + serviceName + ") "
+ "elapsed time(" + pack.elapsed + " ms) exceed a threshold.";
ap.time = System.currentTimeMillis();
ap.objType = AgentManager.getAgent(pack.objHash).objType;
alert(ap);
}
} catch (Exception e) {
Logger.printStackTrace(e);
}
}
示例4: getXLogData
import scouter.lang.pack.XLogPack; //导入依赖的package包/类
public static XLogData getXLogData(int serverId, String date, long txid) {
TcpProxy tcp = TcpProxy.getTcpProxy(serverId);
try {
MapPack param = new MapPack();
param.put("date", date);
param.put("txid", txid);
Pack p = tcp.getSingle(RequestCmd.XLOG_READ_BY_TXID, param);
if (p != null) {
XLogPack xp = XLogUtil.toXLogPack(p);
XLogData d = new XLogData(xp, serverId);
d.objName = TextProxy.object.getLoadText(date, xp.objHash, serverId);
d.serviceName = TextProxy.service.getLoadText(date, xp.service, serverId);
return d;
}
} catch (Throwable th) {
ConsoleProxy.errorSafe(th.toString());
} finally {
TcpProxy.putTcpProxy(tcp);
}
return null;
}
示例5: getXLogData
import scouter.lang.pack.XLogPack; //导入依赖的package包/类
private XLogData getXLogData(int serverId, String date, long txid) {
TcpProxy tcp = TcpProxy.getTcpProxy(serverId);
try {
MapPack param = new MapPack();
param.put("date", date);
param.put("txid", txid);
Pack p = tcp.getSingle(RequestCmd.XLOG_READ_BY_TXID, param);
if (p != null) {
XLogPack xp = XLogUtil.toXLogPack(p);
XLogData d = new XLogData(xp, serverId);
d.objName = TextProxy.object.getLoadText(date, xp.objHash, serverId);
d.serviceName = TextProxy.service.getLoadText(date, xp.service, serverId);
return d;
}
} catch (Throwable th) {
ConsoleProxy.errorSafe(th.toString());
} finally {
TcpProxy.putTcpProxy(tcp);
}
return null;
}
示例6: preLoadDictionary
import scouter.lang.pack.XLogPack; //导入依赖的package包/类
private static void preLoadDictionary(XLogPack pack, int serverId) {
TextLoader loader = new TextLoader(serverId);
loader.addTextHash(TextTypeEnum.SERVICE, pack.service);
loader.addTextHash(TextTypeEnum.HASH_MSG, pack.threadNameHash);
loader.addTextHash(TextTypeEnum.ERROR, pack.error);
loader.addTextHash(TextTypeEnum.USER_AGENT, pack.userAgent);
loader.addTextHash(TextTypeEnum.REFERRER, pack.referer);
loader.addTextHash(TextTypeEnum.GROUP, pack.group);
loader.addTextHash(TextTypeEnum.CITY, pack.city);
loader.addTextHash(TextTypeEnum.LOGIN, pack.login);
loader.addTextHash(TextTypeEnum.DESC, pack.desc);
loader.addTextHash(TextTypeEnum.HASH_MSG, pack.queuingHostHash);
loader.addTextHash(TextTypeEnum.HASH_MSG, pack.queuing2ndHostHash);
loader.loadAll();
}
示例7: getRealTimeXLogReader
import scouter.lang.pack.XLogPack; //导入依赖的package包/类
/**
* get INetReader to make streaming output from realtime xlogs.
*
* @param jsonGenerator - low-level streaming json generator
* @param countable - to keep xlog count
* @return INetReader
*/
private INetReader getRealTimeXLogReader(JsonGenerator jsonGenerator, int[] countable) {
return in -> {
Pack p = in.readPack();
if (p.getPackType() == PackEnum.MAP) { //meta data arrive ahead of xlog pack
MapPack metaPack = (MapPack) p;
jsonGenerator.writeNumberField("xlogLoop", metaPack.getInt(ParamConstant.OFFSET_LOOP));
jsonGenerator.writeNumberField("xlogIndex", metaPack.getInt(ParamConstant.OFFSET_INDEX));
jsonGenerator.writeArrayFieldStart("xlogs");
} else {
XLogPack xLogPack = (XLogPack) p;
jsonGenerator.writeObject(SXLog.of(xLogPack));
countable[0]++;
}
};
}
示例8: getPageableXLogReader
import scouter.lang.pack.XLogPack; //导入依赖的package包/类
/**
* get INetReader to make streaming output from xlogs.
*
* @param jsonGenerator - low-level streaming json generator
* @return INetReader
*/
private INetReader getPageableXLogReader(JsonGenerator jsonGenerator) {
int[] countable = {0};
return in -> {
Pack p = in.readPack();
if (p.getPackType() != PackEnum.MAP) { // XLogPack case
XLogPack xLogPack = (XLogPack) p;
jsonGenerator.writeObject(SXLog.of(xLogPack));
countable[0]++;
} else { // MapPack case (//meta data arrive followed by xlog pack)
jsonGenerator.writeEndArray();
MapPack metaPack = (MapPack) p;
jsonGenerator.writeBooleanField("hasMore", metaPack.getBoolean(ParamConstant.XLOG_RESULT_HAS_MORE));
jsonGenerator.writeNumberField("lastTxid", metaPack.getLong(ParamConstant.XLOG_RESULT_LAST_TXID));
jsonGenerator.writeNumberField("lastXLogTime", metaPack.getLong(ParamConstant.XLOG_RESULT_LAST_TIME));
jsonGenerator.writeNumberField("count", countable[0]);
}
};
}
示例9: getPageableXLogReader
import scouter.lang.pack.XLogPack; //导入依赖的package包/类
/**
* get INetReader to make streaming output from xlogs.
*
* @param jsonGenerator - low-level streaming json generator
* @param serverId - serverId (needs for retrieving dictionary text)
* @return INetReader
*/
private INetReader getPageableXLogReader(JsonGenerator jsonGenerator, int serverId) {
int[] countable = {0};
return in -> {
Pack p = in.readPack();
if (p.getPackType() != PackEnum.MAP) { // XLogPack case
XLogPack xLogPack = (XLogPack) p;
jsonGenerator.writeObject(XLogData.of(xLogPack, serverId));
countable[0]++;
} else { // MapPack case (//meta data arrive followed by xlog pack)
jsonGenerator.writeEndArray();
MapPack metaPack = (MapPack) p;
jsonGenerator.writeBooleanField("hasMore", metaPack.getBoolean(ParamConstant.XLOG_RESULT_HAS_MORE));
jsonGenerator.writeNumberField("lastTxid", metaPack.getLong(ParamConstant.XLOG_RESULT_LAST_TXID));
jsonGenerator.writeNumberField("lastXLogTime", metaPack.getLong(ParamConstant.XLOG_RESULT_LAST_TIME));
jsonGenerator.writeNumberField("count", countable[0]);
}
};
}
示例10: txperf
import scouter.lang.pack.XLogPack; //导入依赖的package包/类
public static XLogPack txperf(long endtime, long txid, int service_hash, String serviceName, int elapsed, int cpu,
int sqlCount, int sqlTime, String remoteAddr, String error, long visitor) {
XLogPack pack = new XLogPack();
pack.cpu = cpu;
pack.endTime = endtime;
pack.elapsed = elapsed;
DataProxy.sendServiceName(service_hash, serviceName);
pack.service = service_hash;
pack.kbytes = 0;
pack.status = 0;
pack.sqlCount = sqlCount;
pack.sqlTime = sqlTime;
pack.txid = txid;
pack.ipaddr = IPUtil.toBytes(remoteAddr);
pack.userid = visitor;
if (error != null) {
pack.error = DataProxy.sendError(error);
}
MeterService.getInstance().add(pack.elapsed, pack.sqlTime, pack.apicallTime, pack.queuingTime, error != null);
DataProxy.sendXLog(pack);
MeterUsers.add(pack.userid);
return pack;
}
示例11: process
import scouter.lang.pack.XLogPack; //导入依赖的package包/类
public void process(XLogPack p) {
if (conf.summary_enabled == false)
return;
// service summary
SummaryData d = getSummaryMap(serviceMaster, p.service);
d.count++;
d.elapsed += p.elapsed;
if (p.error != 0) {
d.error_cnt++;
}
d.cpu += p.cpu;
d.mem += p.kbytes;
// ip summary
if (IPUtil.isOK(p.ipaddr) && p.ipaddr[0] != 0 && p.ipaddr[0] != 127) {
int ip = DataInputX.toInt(p.ipaddr, 0);
ipMaster.put(ip, ipMaster.get(ip) + 1);
}
// user-agent summary
if (p.userAgent != 0) {
uaMaster.put(p.userAgent, uaMaster.get(p.userAgent) + 1);
}
}
示例12: objType
import scouter.lang.pack.XLogPack; //导入依赖的package包/类
public String objType(XLogPack p) {
ObjectPack a = AgentManager.getAgent(p.objHash);
if (a != null) {
return a.objType;
}
return null;
}
示例13: xlog
import scouter.lang.pack.XLogPack; //导入依赖的package包/类
public static void xlog(XLogPack m) {
BuiltInPluginManager.invokeAllPlugins(PluginConstants.PLUGIN_SERVER_XLOG, m);
if (xlog != null) {
try {
xlog.process(m);
} catch (Throwable t) {
Logger.printStackTrace("PL001", t);
}
}
}
示例14: xlogdb
import scouter.lang.pack.XLogPack; //导入依赖的package包/类
public static void xlogdb(XLogPack m) {
if (xlogdb != null) {
try {
xlogdb.process(m);
} catch (Throwable t) {
Logger.printStackTrace("PL002", t);
}
}
}
示例15: initLayout
import scouter.lang.pack.XLogPack; //导入依赖的package包/类
private void initLayout() {
parent.setLayout(new FillLayout());
Composite comp = new Composite(parent, SWT.NONE);
tableColumnLayout = new TableColumnLayout();
comp.setLayout(tableColumnLayout);
viewer = new TableViewer(comp, SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
createColumns();
final Table table = viewer.getTable();
table.setHeaderVisible(true);
table.setLinesVisible(true);
viewer.setContentProvider(new ArrayContentProvider());
viewer.setComparator(new TableLabelSorter(viewer));
viewer.addDoubleClickListener(new IDoubleClickListener() {
public void doubleClick(DoubleClickEvent e) {
StructuredSelection sel = (StructuredSelection) viewer.getSelection();
Object o = sel.getFirstElement();
if (o instanceof XLogPack) {
XLogPack data = (XLogPack) o;
XLogData d = new XLogData(data, serverId);
d.objName = TextProxy.object.getLoadText(yyyymmdd, data.objHash, serverId);
d.serviceName = TextProxy.service.getLoadText(yyyymmdd, data.service, serverId);
new OpenXLogProfileJob(ServiceTableComposite.this.getDisplay(), d, serverId).schedule();
} else {
System.out.println(o);
}
}
});
}