在不知道某个流表订阅的情况下,怎样取消该流表的全部订阅

如果grafana订阅了某个流表,我们不知道action是什么,请问怎样取消该流表的全部订阅

请先 登录 后评论

1 个回答

wale

getStreamingStat函数能查到订阅情况,下面函数可以批量取消某个表的所有订阅

def unsubscribeAll(tabName) {
    t = getStreamingStat().pubTables

    for(row in t){
        if(string(row.actions).startsWith("[")) {
            actions = split(substr(row.actions, 1, strlen(row.actions)-2), ",")
        } else {
            actions = [].append!(row.actions)
        }

        for(action in actions){
            unsubscribeTable(tableName=tabName, actionName=action)
        }
    }
}
请先 登录 后评论