class Aws::ClientSideMonitoring::RequestMetrics::ApiCall
def _truncate(document)
def _truncate(document) document.each do |key, value| limit = FIELD_MAX_LENGTH[key] if limit && value.to_s.length > limit document[key] = value.to_s.slice(0...limit) end end document end
def complete(opts = {})
def complete(opts = {}) @latency = opts[:latency] @attempt_count = opts[:attempt_count] @user_agent = opts[:user_agent] if opts[:final_error_retryable] @max_retries_exceeded = 1 else @max_retries_exceeded = 0 end @final_http_status_code = opts[:final_http_status_code] @final_aws_exception = opts[:final_aws_exception] @final_aws_exception_message = opts[:final_aws_exception_message] @final_sdk_exception = opts[:final_sdk_exception] @final_sdk_exception_message = opts[:final_sdk_exception_message] @region = opts[:region] if opts[:region] # in case region changes end
def initialize(service, api, client_id, version, timestamp, region)
def initialize(service, api, client_id, version, timestamp, region) @service = service @api = api @client_id = client_id @version = version @timestamp = timestamp @region = region end
def to_json(*a)
def to_json(*a) document = { "Type" => "ApiCall", "Service" => @service, "Api" => @api, "ClientId" => @client_id, "Timestamp" => @timestamp, "Version" => @version, "AttemptCount" => @attempt_count, "Latency" => @latency, "Region" => @region, "MaxRetriesExceeded" => @max_retries_exceeded, "UserAgent" => @user_agent, "FinalHttpStatusCode" => @final_http_status_code, } document["FinalSdkException"] = @final_sdk_exception if @final_sdk_exception document["FinalSdkExceptionMessage"] = @final_sdk_exception_message if @final_sdk_exception_message document["FinalAwsException"] = @final_aws_exception if @final_aws_exception document["FinalAwsExceptionMessage"] = @final_aws_exception_message if @final_aws_exception_message document = _truncate(document) document.to_json end