*** Settings *** Library Collections Library RequestsLibrary Library String Resource ../../../03-Variable/Bifangapivariable.txt Resource ForTwoKeywords.robot *** Keywords *** Dashboard-Traffic-bytes # Traffics-带宽统计 统计类型:bytes bifang和bigData对比 Traffic IN/OUT [Documentation] ... 描述:Traffic-Bytes统计 ... 参数:starttime(必传,开始时间紧) ... endtime(必传,结束时间 ... 返回:对比结果 [Arguments] ${starttime} ${endtime} ${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=bytes ${url1} Set Variable report/traffic/statisticsbyunit ${bfResponse} TrafficBFRequest ${url1} ${data} ${trafficInBytes} Set Variable ${bfResponse['data']['trafficInBytes']} ${trafficOutBytes} Set Variable ${bfResponse['data']['trafficOutBytes']} Create Session bdapi http://${bigDataIP}:${bigDataPort} ${sql} Set Variable select sum(total_in_bytes) as traffic_in_bytes, sum(total_out_bytes) as traffic_out_bytes from traffic_metrics_log where __time >= '${startTime}' and __time < '${endTime}' ${remoteResponse} Get Request bdapi ?query=${sql} ${response} to json ${remoteResponse.content} ${trafficInBytes1} Set Variable ${response['data'][0]['traffic_in_bytes']} ${trafficOutBytes1} Set Variable ${response['data'][0]['traffic_out_bytes']} Should Be True ${trafficInBytes}==${trafficInBytes1} Should Be True ${trafficOutBytes}==${trafficOutBytes1} [Return] OK Dashboard-Traffic-packets # Traffics-带宽统计 统计类型:packets bifang和bigData对比 Traffic IN/OUT [Documentation] ... 描述:Traffic-packets统计 ... 参数:starttime(必传,开始时间紧) ... endtime(必传,结束时间 ... 返回:对比结果 [Arguments] ${starttime} ${endtime} ${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=packets ${url1} Set Variable report/traffic/statisticsbyunit ${bfResponse} TrafficBFRequest ${url1} ${data} ${trafficInPackets} Set Variable ${bfResponse['data']['trafficInPackets']} ${trafficOutPackets} Set Variable ${bfResponse['data']['trafficOutPackets']} Create Session bdapi http://${bigDataIP}:${bigDataPort} ${sql} Set Variable select sum(total_in_packets) as traffic_in_packets, sum(total_out_packets) as traffic_out_packets from traffic_metrics_log where __time >= '${startTime}' and __time < '${endTime}' ${remoteResponse} Get Request bdapi ?query=${sql} ${response} to json ${remoteResponse.content} Should Be Equal As Strings ${remoteResponse.status_code} 200 Should Be Equal As Strings ${response['status']} 200 ${traffic_in_packets1} Set Variable ${response['data'][0]['traffic_in_packets']} ${traffic_out_packets1} Set Variable ${response['data'][0]['traffic_out_packets']} Should Be True ${trafficInPackets}==${traffic_in_packets1} Should Be True ${trafficOutPackets}==${traffic_out_packets1} [Return] OK Dashboard-Traffic-sessions # Traffics-带宽统计 统计类型:sessions bifang和bigData对比 Traffic IN/OUT [Documentation] ... 描述:Traffic-sessions统计 ... 参数:starttime(必传,开始时间紧) ... endtime(必传,结束时间 ... 返回:对比结果 [Arguments] ${starttime} ${endtime} ${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=sessions ${url1} Set Variable report/traffic/statisticsbyunit ${bfResponse} trafficBFRequest ${url1} ${data} ${sessions} Set Variable ${bfResponse['data']['sessions']} Create Session bdapi http://${bigDataIP}:${bigDataPort} ${sql} Set Variable select sum(new_conn_num) as sessions from traffic_metrics_log where __time >= '${startTime}' and __time < '${endTime}' ${remoteResponse} Get Request bdapi ?query=${sql} ${response} to json ${remoteResponse.content} Should Be Equal As Strings ${remoteResponse.status_code} 200 Should Be Equal As Strings ${response['status']} 200 ${sessions1} Set Variable ${response['data'][0]['sessions']} Should Be True ${sessions}==${sessions1} [Return] OK Dashboard-Traffic-trend-bytes # Traffics-带宽趋势 统计类型:bytes bifang和bigData对比 Traffic IN/OUT [Documentation] ... 描述:Traffic-trend-bytes ... 参数:starttime(必传,开始时间紧) ... endtime(必传,结束时间 ... timeGranularity(非必传,时间粒度 ) ... limit(非必传,限制条数) ... 返回:对比结果 [Arguments] ${starttime} ${endtime} ${timeGranularity} ${limit} ${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=bytes&timeGranularity=${timeGranularity}&limit=${limit} ${url1} Set Variable report/traffic/statisticsbyunit ${bfResponse} trafficBFRequest ${url1} ${data} @{bytesOutList1} Set Variable ${bfResponse['data']['trafficOutBytesList']} @{bytesInList1} Set Variable ${bfResponse['data']['trafficInBytesList']} Create Session bdapi http://${bigDataIP}:${bigDataPort} ${sql} Set Variable (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_in_bytes' as type, sum(total_in_bytes) as bytes from traffic_metrics_log where \ __time >= '${startTime}' \ and __time < '${endTime}' \ group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') limit ${limit}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_out_bytes' as type, sum(total_out_bytes) as bytes from traffic_metrics_log where \ __time >= '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') limit ${limit}) ${remoteResponse} Get Request bdapi ?query=${sql} ${response} to json ${remoteResponse.content} Should Be Equal As Strings ${remoteResponse.status_code} 200 Should Be Equal As Strings ${response['status']} 200 @{bytesList2} Set Variable ${response['data']} ${typeIn} Set Variable traffic_in_bytes ${typeOut} Set Variable traffic_out_bytes ${types} Set Variable bytes Run Keyword If ${bytesOutList1}!=[] and ${bytesList2}!=[] ForToTrafficTrend ${bytesOutList1} ${typeOut} ${types} ${bytesList2} Run Keyword If ${bytesInList1}!=[] and ${bytesList2}!=[] ForToTrafficTrend ${bytesInList1} ${typeIn} ${types} ${bytesList2} Dashboard-Traffic-trend-packets # Traffics-带宽趋势 统计类型:packets bifang和bigData对比 Traffic IN/OUT [Documentation] ... 描述:Traffic-trend-packets ... 参数:starttime(必传,开始时间紧) ... endtime(必传,结束时间 ... timeGranularity(非必传,时间粒度 ) ... limit(非必传,限制条数) ... 返回:对比结果 [Arguments] ${starttime} ${endtime} ${timeGranularity} ${limit} ${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=packets&timeGranularity=${timeGranularity}&limit=${limit} ${url1} Set Variable report/traffic/statisticsbyunit ${bfResponse} trafficBFRequest ${url1} ${data} @{packetsOutList1} Set Variable ${bfResponse['data']['trafficOutPacketsList']} @{packetsInList1} Set Variable ${bfResponse['data']['trafficInPacketsList']} Create Session bdapi http://${bigDataIP}:${bigDataPort} #${sql} Set Variable (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_in_packets' as type, sum(total_in_packets) as packets from traffic_metrics_log where \ __time >= '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') union all select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_out_packets' as type, sum(total_out_packets) as packets from traffic_metrics_log where __time >= '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s')) #${remoteResponse} Get Request bdapi ?query=${sql} ${sql} Set Variable (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_in_packets' as type, sum(total_in_packets) as packets from traffic_metrics_log where \ __time >= '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') limit ${limit}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_out_packets' as type, sum(total_out_packets) as packets from traffic_metrics_log where __time >= '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') limit ${limit}) ${remoteResponse} Get Request bdapi ?query=${sql} ${response} to json ${remoteResponse.content} Should Be Equal As Strings ${remoteResponse.status_code} 200 Should Be Equal As Strings ${response['status']} 200 @{packetsList2} Set Variable ${response['data']} ${typeIn} Set Variable traffic_in_packets ${typeOut} Set Variable traffic_out_packets ${types} Set Variable packets Run Keyword If ${packetsOutList1}!=[] and ${packetsList2}!=[] ForToTrafficTrend ${packetsOutList1} ${typeOut} ${types} ${packetsList2} Run Keyword If ${packetsInList1}!=[] and ${packetsList2}!=[] ForToTrafficTrend ${packetsInList1} ${typeIn} ${types} ${packetsList2} Dashboard-Traffic-trend-sessions # Traffics-带宽趋势 统计类型:sessions bifang和bigData对比 Traffic IN/OUT [Documentation] ... 描述:Traffic-trend-sessions ... 参数:starttime(必传,开始时间紧) ... endtime(必传,结束时间 ... timeGranularity(非必传,时间粒度 ) ... limit(非必传,限制条数) [Arguments] ${starttime} ${endtime} ${timeGranularity} ${limit} ${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=sessions&timeGranularity=${timeGranularity}&limit=${limit} ${url1} Set Variable report/traffic/statisticsbyunit ${bfResponse} trafficBFRequest ${url1} ${data} @{sessionsList1} Set Variable ${bfResponse['data']['sessionsList']} Create Session bdapi http://${bigDataIP}:${bigDataPort} #${sql} Set Variable select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity}) *${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'total_conn_num' as type, \ sum(new_conn_num) as sessions from traffic_metrics_log where __time >= \ '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR (UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i: %s') #${remoteResponse} Get Request bdapi ?query=${sql} ${sql} Set Variable select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity}) *${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'total_conn_num' as type, \ sum(new_conn_num) as sessions from traffic_metrics_log where __time >= \ '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR (UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i: %s') limit ${limit} ${remoteResponse} Get Request bdapi ?query=${sql} ${response} to json ${remoteResponse.content} Should Be Equal As Strings ${remoteResponse.status_code} 200 Should Be Equal As Strings ${response['status']} 200 @{sessionsList2} Set Variable ${response['data']} ${type} Set Variable total_conn_num ${types} Set Variable sessions Run Keyword If ${sessionsList1}!=[] and ${sessionsList2}!=[] ForToTrafficTrend ${sessionsList1} ${type} ${types} ${sessionsList2}