in tools/cli/admin.go [160:328]
func newAdminShardManagementCommands() []cli.Command {
return []cli.Command{
{
Name: "describe",
Aliases: []string{"d"},
Usage: "Describe shard by Id",
Flags: append(
getDBFlags(),
cli.IntFlag{
Name: FlagShardID,
Usage: "The Id of the shard to describe",
},
),
Action: func(c *cli.Context) {
AdminDescribeShard(c)
},
},
{
Name: "list",
Aliases: []string{"l"},
Usage: "List shard distribution",
Flags: []cli.Flag{
cli.IntFlag{
Name: FlagPageSize,
Value: 100,
Usage: "Max number of results to return",
},
cli.IntFlag{
Name: FlagPageID,
Value: 0,
Usage: "Option to show results offset from pagesize * page_id",
},
getFormatFlag(),
},
Action: func(c *cli.Context) {
AdminDescribeShardDistribution(c)
},
},
{
Name: "setRangeID",
Aliases: []string{"srid"},
Usage: "Force update shard rangeID",
Flags: append(
getDBFlags(),
cli.IntFlag{
Name: FlagShardIDWithAlias,
Usage: "ID of the shard to reset",
},
cli.Int64Flag{
Name: FlagRangeIDWithAlias,
Usage: "new shard rangeID",
},
),
Action: func(c *cli.Context) {
AdminSetShardRangeID(c)
},
},
{
Name: "closeShard",
Aliases: []string{"clsh"},
Usage: "close a shard given a shard id",
Flags: []cli.Flag{
cli.IntFlag{
Name: FlagShardID,
Usage: "ShardID for the cadence cluster to manage",
},
},
Action: func(c *cli.Context) {
AdminCloseShard(c)
},
},
{
Name: "removeTask",
Aliases: []string{"rmtk"},
Usage: "remove a task based on shardID, task type, taskID, and task visibility timestamp",
Flags: []cli.Flag{
cli.IntFlag{
Name: FlagShardID,
Usage: "shardID",
},
cli.Int64Flag{
Name: FlagTaskID,
Usage: "taskID",
},
cli.IntFlag{
Name: FlagTaskType,
Usage: "task type: 2 (transfer task), 3 (timer task), 4 (replication task) or 6 (cross-cluster task)",
},
cli.Int64Flag{
Name: FlagTaskVisibilityTimestamp,
Usage: "task visibility timestamp in nano (required for removing timer task)",
},
cli.StringFlag{
Name: FlagCluster,
Usage: "target cluster of the task (required for removing cross-cluster task)",
},
},
Action: func(c *cli.Context) {
AdminRemoveTask(c)
},
},
{
Name: "timers",
Usage: "get scheduled timers for a given time range",
Flags: append(getDBFlags(),
cli.IntFlag{
Name: FlagShardID,
Usage: "shardID",
},
cli.IntFlag{
Name: FlagPageSize,
Usage: "page size used to query db executions table",
Value: 500,
},
cli.StringFlag{
Name: FlagStartDate,
Usage: "start date",
Value: time.Now().UTC().Format(time.RFC3339),
},
cli.StringFlag{
Name: FlagEndDate,
Usage: "end date",
Value: time.Now().UTC().Add(24 * time.Hour).Format(time.RFC3339),
},
cli.StringFlag{
Name: FlagDomainID,
Usage: "filter tasks by DomainID",
},
cli.IntSliceFlag{
Name: FlagTimerType,
Usage: "timer types: 0 - DecisionTimeoutTask, 1 - TaskTypeActivityTimeout, " +
"2 - TaskTypeUserTimer, 3 - TaskTypeWorkflowTimeout, 4 - TaskTypeDeleteHistoryEvent, " +
"5 - TaskTypeActivityRetryTimer, 6 - TaskTypeWorkflowBackoffTimer",
Value: &cli.IntSlice{-1},
},
cli.BoolFlag{
Name: FlagPrintJSON,
Usage: "print raw json data instead of histogram",
},
cli.BoolFlag{
Name: FlagSkipErrorMode,
Usage: "skip errors",
},
cli.StringFlag{
Name: FlagInputFile,
Usage: "file to use, will not connect to persistence",
},
cli.StringFlag{
Name: FlagDateFormat,
Usage: "create buckets using time format. Use Go reference time: Mon Jan 2 15:04:05 MST 2006. If set, --" + FlagBucketSize + " is ignored",
},
cli.StringFlag{
Name: FlagBucketSize,
Value: "hour",
Usage: "group timers by time bucket. Available: day, hour, minute, second",
},
cli.IntFlag{
Name: FlagShardMultiplier,
Usage: "multiply timer counters for histogram",
Value: 16384,
},
),
Action: func(c *cli.Context) {
AdminTimers(c)
},
},
}
}