Get Chaos Events

Gets the next segment of the Chaos events based on the continuation token or the time range.

To get the next segment of the Chaos events, you can specify the ContinuationToken. To get the start of a new segment of Chaos events, you can specify the time range through StartTimeUtc and EndTimeUtc. You cannot specify both the ContinuationToken and the time range in the same call. When there are more than 100 Chaos events, the Chaos events are returned in multiple segments where a segment contains no more than 100 Chaos events and to get the next segment you make a call to this API with the continuation token.

Request

Method Request URI
GET /Tools/Chaos/Events?api-version=6.2&ContinuationToken={ContinuationToken}&StartTimeUtc={StartTimeUtc}&EndTimeUtc={EndTimeUtc}&MaxResults={MaxResults}&timeout={timeout}

Parameters

Name Type Required Location
api-version string Yes Query
ContinuationToken string No Query
StartTimeUtc string No Query
EndTimeUtc string No Query
MaxResults integer (int64) No Query
timeout integer (int64) No Query

api-version

Type: string
Required: Yes
Default: 6.2

The version of the API. This parameter is required and its value must be '6.2'.

Service Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.

Additionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.


ContinuationToken

Type: string
Required: No

The continuation token parameter is used to obtain next set of results. A continuation token with a non-empty value is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token does not contain a value. The value of this parameter should not be URL encoded.


StartTimeUtc

Type: string
Required: No

The Windows file time representing the start time of the time range for which a Chaos report is to be generated. Consult DateTime.ToFileTimeUtc Method for details.


EndTimeUtc

Type: string
Required: No

The Windows file time representing the end time of the time range for which a Chaos report is to be generated. Consult DateTime.ToFileTimeUtc Method for details.


MaxResults

Type: integer (int64)
Required: No
Default: 0
InclusiveMinimum: 0

The maximum number of results to be returned as part of the paged queries. This parameter defines the upper bound on the number of results returned. The results returned can be less than the specified maximum results if they do not fit in the message as per the max message size restrictions defined in the configuration. If this parameter is zero or not specified, the paged query includes as many results as possible that fit in the return message.


timeout

Type: integer (int64)
Required: No
Default: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1

The server timeout for performing the operation in seconds. This timeout specifies the time duration that the client is willing to wait for the requested operation to complete. The default value for this parameter is 60 seconds.

Responses

HTTP Status Code Description Response Schema
200 (OK) Next segment of Chaos events.
ChaosEventsSegment
All other status codes The detailed error response.
FabricError

Examples

Get Chaos events given a time range

This example shows how to get Chaos events in a single response message without the need for paging through ContinuationToken parameter.

Request

GET http://localhost:19080/Tools/Chaos/Events?api-version=6.2&StartTimeUtc=0&EndTimeUtc=3155378975999999999

200 Response

Body
{
  "ContinuationToken": "",
  "History": [
    {
      "ChaosEvent": {
        "Kind": "Started",
        "TimeStampUtc": "2017-04-14T04:27:19.049Z",
        "ChaosParameters": {
          "MaxClusterStabilizationTimeoutInSeconds": "30",
          "MaxConcurrentFaults": "3",
          "WaitTimeBetweenIterationsInSeconds": "10",
          "WaitTimeBetweenFaultsInSeconds": "1",
          "TimeToRunInSeconds": "3600",
          "EnableMoveReplicaFaults": true,
          "ClusterHealthPolicy": {
            "ConsiderWarningAsError": true,
            "MaxPercentUnhealthyNodes": "0",
            "MaxPercentUnhealthyApplications": "10",
            "ApplicationTypeHealthPolicyMap": [
              {
                "Key": "myapp",
                "Value": "3"
              }
            ]
          },
          "Context": {
            "Map": {
              "k1": "v1",
              "k2": "v2",
              "k3": "v5"
            }
          }
        }
      }
    },
    {
      "ChaosEvent": {
        "Kind": "ExecutingFaults",
        "TimeStampUtc": "2017-04-14T04:27:20.667Z",
        "Faults": [
          "ActionType: RestartReplica, ServiceUri: fabric:/TestApp1/PersistServ_6R_1, PartitionId: 6a91b09a-bd76-45da-afaa-ed0fd9bfe7d2, ReplicaId: 131366172775684622",
          "ActionType: CodePackageRestart, NodeName: N0050, ApplicationName: fabric:/TestApp1, ServiceManifestName: SP1, ServiceManifestName: , CodePackageName: CP1.",
          "ActionType: RestartReplica, ServiceUri: fabric:/TestApp1/PersistServ_6R_3, PartitionId: baa3a51e-5c42-435e-89d3-6e97b2164661, ReplicaId: 131366172988968762"
        ]
      }
    }
  ]
}