[关闭]
@rzzx 2017-04-12T03:01:10.000000Z 字数 3617 阅读 727

掌上听云客户端Server API接口-应用列表和关键元素

Server

文档中主机名需要参考以下配置:

内网:http://192.168.5.199:8083/tingyun-api-server
外网:



1. 获取应用列表接口

URL

/mobileApplication/appList

示例URL

http://192.168.5.199:8083/tingyun-api-server/mobileApplication/appList?_ty_auth_token=kl2ir1io8oz1l8uamxyaql34twi6rm4e&endTime=2017-03-14&timePeriod=10080&name=fvt_php

请求参数

参数 必选 类型 说明
_ty_auth_token true string token从authlocal.tingyun.com:10886/auth/api/auth/login获取
endTime false string 结束时间 格式如:yyyy-MM-dd HH:mm:ss
timePeriod false string 时间间隔 相差多少分钟
name false string 查询字段为空则为查询所有
curPage false int 第几页,从1开始,默认为1
pageSize false int 每页是多少条,默认为500(推荐500)

由于server的数据量很大,这里提供专业的json解析工具(需要安装对应的jre版本)
http://pan.baidu.com/s/1jHCnen0

响应数据

  1. /*成功响应*/
  2. {
  3. "status":200,
  4. "data":[
  5. {
  6. "applicationId":126887,//appId
  7. "name":"fvt_php7.0_httpd",//应用名称(暂时无用)
  8. "alias":"fvt_php7.0_httpd",//应用别名(客户端展示应用的名称用这个)
  9. "language":"PHP",
  10. "status":1,//是否禁用(1是启用,0是禁用)
  11. "alarmStatus":0,//警报状态
  12. "agentType":2,
  13. "instanceCount":1,//实例数量(暂时无用)
  14. "groupName":"",
  15. "groupId":0,
  16. "errorRate":0,//错误率(暂时无用)
  17. "throughput":0,//吞吐率(暂时无用)
  18. "successCount":3,//成功数量(暂时无用)
  19. "count":3,//总数(暂时无用)
  20. "errorCount":0,//错误数量(暂时无用)
  21. "hasDataLast24h":false,//最近24小时内是否有数据
  22. "hasDataLast30":false,//最近30分钟内是否有数据(暂时无用)
  23. "data":{
  24. "instantCount":1,//实例数量(暂时无用)
  25. "throught":0,//吞吐率(暂时无用)
  26. "score":40,//总分数
  27. "status":2,
  28. "responseTime":{
  29. "status":2,//状态(颜色)
  30. "value":1852927081,
  31. "unit":"ms",
  32. "tooltips":"共检测到3条HTTP请求,平均响应时间1,852,927,081ms"
  33. },
  34. "apdex":{
  35. "status":2,//状态(颜色)
  36. "value":0,
  37. "unit":"",
  38. "tooltips":"平均Apdex为0,已经严重低于正常范围"
  39. },
  40. "errorPercent":{
  41. "status":0,//状态(颜色)
  42. "value":0,
  43. "unit":"%",
  44. "tooltips":"平均错误率为0%,属于正常范围"
  45. }
  46. }
  47. },
  48. ...
  49. ]
  50. }
  51. /*错误响应*/
  52. {
  53. "status":-1,
  54. "data":"_ty_auth_token is NULL"
  55. }
  56. /*错误响应*/
  57. {
  58. "status":-500,
  59. "message":"system error."
  60. }

1.1 应用列表展示逻辑

  1. if (最外侧data != null && 最外侧data != "" && 最外侧data.size() > 0) {
  2. for (int index = 0; index < 最外侧data.size(); index ++) {
  3. bool hasData = 最外侧data[index].count > 0 ? true : false;
  4. if (hasData) {
  5. 正常显示
  6. } else {
  7. bool hasDataLast24 = 最外侧data[index].hasDataLast24h;
  8. if (!hasDataLast24 ) {
  9. print 此应用24小时之内暂无数据。
  10. } else if(hasDataLast24 ) {
  11. print 此应用30分钟之内暂无数据。
  12. }
  13. //禁用|启动 我们不做这个按钮 最外侧data[index].status为0是禁用的数据
  14. }
  15. }
  16. }

2. 获取关键元素列表接口

URL

/mobileApplication/keyActionList

示例URL

http://192.168.5.199:8083/tingyun-api-server/mobileApplication/keyActionList?_ty_auth_token=ctllka5421c008jjx9ssqjweh32xn2zq

请求参数

参数 必选 类型 说明
_ty_auth_token true string token从authlocal.tingyun.com:10886/auth/api/auth/login获取
name false string 查询字段为空则为查询所有

响应数据

  1. /*成功响应*
  2. {
  3. "status":200,
  4. "data":[
  5. {
  6. "id":676,
  7. "alias":"tianzhaoshidiaosi_demo",//所属应用名称
  8. "actionId":57241,
  9. "name":"ASP/random.aspx",//关键元素名称
  10. "actionType":0,
  11. "stat":{
  12. "count":0,//调用次数(为0时,网站显示"--")
  13. "throughput":0,
  14. "alarmStatus":-1,
  15. "mtime":null,
  16. "responseTimeTotal":0,
  17. "applicationServerTimeTotal":0,
  18. "pageLoadTimeTotal":0,
  19. "pageviewCount":0,
  20. "successCount":0,
  21. "errorCount":0,
  22. "satisfiedCount":0,
  23. "tolerableCount":0,
  24. "frustratedCount":0,
  25. "hasDataInLast24Hour":false,//关键应用过程24小时之内是否暂无数据
  26. "keyActionId":0,
  27. "keyAction":null,
  28. "applicationId":0,
  29. "apdex":"0.00",
  30. "errorRate":"0.00",//错误率(为null时,网站显示"--")
  31. "serverTimeTotal":"0",//响应时间
  32. "alarmStatusValue":-1
  33. },
  34. "appServerApdexT":5000,
  35. "rumApdexT":0
  36. },
  37. ...
  38. ]}
  39. /*错误响应*/
  40. {
  41. "status":-1,
  42. "data":"_ty_auth_token is NULL"
  43. }
  44. /*错误响应*/
  45. {
  46. "status":-500,
  47. "message":"system error."
  48. }

2.1 关键元素展示逻辑

  1. objData = 最外侧data;
  2. if (objData != null && objData != "" && objData.size() > 0) {
  3. for (int index = 0; index < objData.size(); index ++) {
  4. //警报状态
  5. if (objData[index].stat.count == null) {
  6. 警报状态颜色 = 'gray';
  7. } esle if(objData[index].stat.alarmStatus == 1) {
  8. 警报状态颜色 = 'yellow';
  9. } else if(objData[index].stat.alarmStatus == 2) {
  10. 警报状态颜色 = 'red';
  11. } else {
  12. 警报状态颜色 = 'green';
  13. }
  14. bool hasData = objData[index].stat.count > 0 ? true: false;
  15. bool hasDataLast24 = objData[index].stat.hasDataLast24h;
  16. if (hasData) {
  17. 正常显示
  18. } else if(!hasDataLast24) {
  19. print 此应用24小时之内暂无数据。
  20. } else if(hasDataLast24) {
  21. print 此应用30分钟之内暂无数据。
  22. }
  23. }
  24. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注