Protocol Extension
This document describes the usage and explanation of Tingyun SDK's custom execution unit related interfaces.
Create Execution Unit
Note: startSpan() and finish() must be called in pairs.
- Related interface
/*
* @param name Name, cannot be empty, max length 1024 characters, excess will be truncated
* @param operation Data type, cannot be empty, max length 128 characters, excess will be truncated
*/
NBSAppAgent.startSpan(String name, String operation);
- Code example
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.finish();
Finish Execution Unit
Note: startSpan() and finish() must be called in pairs.
- Related interface
/*
* @param status Execution status, default is SpanStatus.SPAN_STATUS_OK. Options: SpanStatus.SPAN_STATUS_OK, SpanStatus.SPAN_STATUS_ERROR, SpanStatus.SPAN_STATUS_UNKNOWN
*/
ISpan.finish()
ISpan.finish(SpanStatus status)
- Code example
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.finish(SpanStatus.SPAN_STATUS_OK);
Create Child Execution Unit
Note: startChild() and finish() must be called in pairs.
- Related interface
/*
* @param name Name, cannot be empty, max length 1024 characters, excess will be truncated
* @param operation Data type, cannot be empty, max length 128 characters, excess will be truncated
* @param description Description, max length 1024 characters, excess will be truncated
*/
ISpan.startChild(String name, String operation)
ISpan.startChild(String name, String operation, String description)
- Code example
ISpan span_login = NBSAppAgent.startSpan("login", "event");
ISpan span_regist = span_login.startChild("regist", "event");
span_regist.finish(SpanStatus.SPAN_STATUS_OK);
span_login.finish(SpanStatus.SPAN_STATUS_OK);
Set Data
- Related interface
/*
* @param key Data key
* @param value Data value
*/
ISpan.setData(String key, Object value)
- Code example
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.setData("name", "Zhang San");
span_login.finish();
Set Tag
- Related interface
/*
* @param key Tag key
* @param value Tag value
*/
ISpan.setTag(String key, String value)
- Code example
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.setTag("tag", "login");
span_login.finish();
Set Metric
- Related interface
/*
* @param key Metric key
* @param value Metric value
* @param unit Metric unit, options: Bit, Byte, Kilobytes, Megabytes, Millisecond, Second, Hour, Day, Bitps, Byteps, KBps, MBps, or custom
*/
ISpan.setMetric(String key, long value)
ISpan.setMetric(String key, long value, String unit)
- Code example
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.setMetric("time", 50, NBSSpanMetricUnit.Millisecond);
span_login.setMetric("size", 100, "Byteps");
span_login.finish();
Remove Data
- Related interface
/*
* @param key Data key
*/
ISpan.removeData(String key)
- Code example
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.setData("name", "Zhang San");
span_login.removeData("name");
span_login.finish();
Remove Tag
- Related interface
/*
* @param key Tag key
*/
ISpan.removeTag(String key)
- Code example
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.setTag("tag", "login");
span_login.removeTag("tag");
span_login.finish();
Remove Metric
- Related interface
/*
* @param key Metric key
*/
ISpan.removeMetric(String key)
- Code example
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.setMetric("time", 100);
span_login.removeMetric("time");
span_login.finish();
Set Status
- Related interface
/*
* @param status Execution status, default is SpanStatus.SPAN_STATUS_OK. Options: SpanStatus.SPAN_STATUS_OK, SpanStatus.SPAN_STATUS_ERROR, SpanStatus.SPAN_STATUS_UNKNOWN
*/
ISpan.Status(SpanStatus status)
- Code example
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.setStatus(SpanStatus.SPAN_STATUS_OK);
span_login.finish();
Set Duration
- Related interface
/*
* @param time Execution unit duration in ms
*/
ISpan.setDuration(long time)
- Code example
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_loginsetDuration(100)
span_login.finish();
Set StatusCode
- Related interface
/*
* @param code Status code, default is "0"
*/
ISpan.setStatusCode(String code)
- Code example
ISpan span_login = NBSAppAgent.startSpan("login", "event");
span_login.setStatusCode("200");
span_login.finish();