in lib/skywalking/client.lua [189:234]
function Client:reportTraces(metadata_buffer, backend_http_uri)
local log = ngx.log
local DEBUG = ngx.DEBUG
local queue = ngx.shared.tracing_buffer
local segment = queue:rpop(Const.segment_queue)
local segmentTransform = ''
local count = 0
local totalCount = 0
while segment ~= nil
do
if #segmentTransform > 0 then
segmentTransform = segmentTransform .. ','
end
segmentTransform = segmentTransform .. segment
count = count + 1
if ngx.worker.exiting() then
break
end
segment = queue:rpop(Const.segment_queue)
if count >= SEGMENT_BATCH_COUNT then
if sendSegments('[' .. segmentTransform .. ']', backend_http_uri) then
totalCount = totalCount + count
end
segmentTransform = ''
count = 0
end
end
if #segmentTransform > 0 then
if sendSegments('[' .. segmentTransform .. ']', backend_http_uri) then
totalCount = totalCount + count
end
end
if totalCount > 0 then
log(DEBUG, totalCount, " segments reported.")
end
end