Search code examples
amazon-web-servicesamazon-swf

Can I get the Amazon SWF usage limits for my account from the API?


According to Amazon Simple Workflow Service Limits:

Limits on Workflow Executions

  • Maximum open workflow executions: 100,000 per domain

However, the Amazon SWF Limit Increase Form states:

Amazon SWF users can create a maximum of 100 domains per account. [...] Upto 10,000 workflow executions can be open at a time in each domain, which means that upto a million executions can be open simultaneously in each user account.

Either way, Amazon can change the limit for customers who've requested it.

Is there a way of getting these figures from the API for my account, for a definitive answer?
Can I see them somewhere in the interface?


Solution

  • The rate limit information was recently added to CloudWatch:

    • Rate limits relating to API usage such as StartWorkflowExecution can be seen in All > SWF > API Usage Metrics.
    • Rate limits relating to decisions such as ScheduleActivityTask or StartChildWorkflowExecution are at All > SWF > Decision Usage Metrics.

    Each API or Decision type has metrics for its ProvisionedBucketSize and ProvisionedRefillRate.

    For example, here is the rate limit for StartChildWorkflowExecution (the link is for us-east-1):

    enter image description here

    There are also metrics for ThrottledEvents and ConsumedCapacity, so you can keep track of how much you use the API, and how often it fails.

    A new CloudWatch dashboard shows all of the limits in one place: https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#cw:dashboard=SWF