CTS Event Source

For the use of CTS triggers, please refer to Using a CTS Trigger.

CTS example event

{
  "cts": {
      "time": 1529996047,
      "user": {
          "name": "userName",
          "id": "5b726c4fbfd84821ba866bafaaf56aax",
          "domain": {
              "name": "domainName",
              "id": "b2b3853af40448fcb9e40dxj89505ba"
          }
      },
      "request": {},
      "response": {},
      "code": 204,
      "service_type": "FunctionGraph",
      "resource_type": "graph",
      "resource_name": "workflow-2be1",
      "resource_id": "urn:fgs:region:projectId:graph:workflow-2be1",
      "trace_name": "deleteGraph",
      "trace_type": "ConsoleAction",
      "record_time": 1529996047,
      "trace_id": "69be64a7-0233-11e8-82e4-e5d37911193e",
      "trace_status": "normal"
  }
}

Parameter description

Parameter

Type

Description

time

Int

(Epoch timestamp in milliseconds)

user

Map

Information about the user who initiated this request

request

Map

Event request content

response

Map

Incident response content

code

Int

Event response code, such as 200, 400

service_type

String

Abbreviation of the sender, such as vpc, ecs, etc.

resource_type

String

The sender resource type, such as vm, vpn, etc.

resource_name

String

Resource name, such as the name of a virtual machine in the ecs service

trace_name

String

Event name, such as: startServer, shutDown, etc.

trace_type

String

The event source type, such as ApiCall

record_time

String

The time when the cts service receives this trace (Epoch timestamp in milliseconds)

trace_id

String

Unique identifier for the event

trace_status

String

Status of the event

For full description of all parameters see CTS Event Reference.

Example

<?php

require_once __DIR__ . '/../vendor/autoload.php';

use OTC\fg_cts_event\CTSEvent;

function initializer($context)
{
  $logger = $context->getLogger();
  $output = 'Initializer called for function: ' . $context->getFunctionName();
  $logger->debug($output);
  return $output;
}

function handler($event, $context)
{
  $logger = $context->getLogger();

  $logger->info('Function Name: ' . $context->getFunctionName());

  $ctsEvent = new CTSEvent($event);

  $logger->info('CTS Event- Trace type: ' . $ctsEvent->getTraceType());
  $logger->info('CTS Event- Service type: ' . $ctsEvent->getServiceType());

  return [
    'service_type' => $ctsEvent->getServiceType(),
    'trace_type' => $ctsEvent->getTraceType(),
    'trace_name' => $ctsEvent->getTraceName(),
  ];
}

Full sample code is available in the samples-doc/scratch-event-cts.