<% import  'fusion_alerts.macros' as fusion_alerts %>

<% set base_tags = {
    "itype": "mmeta"
} %>

<% set services = [
    {
        "name": "quick_metasearch",
        "tags": base_tags|merge_with_dict({
            "prj": "web-fusion-3day,saas-refresh-shmick-mmeta",
            "tier" : "MsuserdataTier0"
        }),
        "geo_with_ctype": [
            ("sas", "prod"),
            ("man", "prod"),
            ("vla", "prod")
        ]
    },
    {
        "name": "quick_exp_metasearch",
        "tags": base_tags|merge_with_dict({
            "prj": "web-refresh-3day",
            "tier" : "MsuserdataTier0"
        }),
        "geo_with_ctype": [
            ("sas", "experiment"),
            ("man", "experiment"),
            ("vla", "experiment")
        ]
    },
    {
        "name": "hamster_mmeta",
        "tags": base_tags|merge_with_dict({
            "prj": "saas-refresh-shmick-hamster-mmeta",
        }),
        "geo_with_ctype": [
            ("man", "hamster"),
            ("vla", "hamster"),
            ("sas", "hamster")
        ]
    },
    {
        "name": "frozen_hamster_mmeta",
        "tags": base_tags|merge_with_dict({
            "prj": "saas-refresh-shmick-frozen-mmeta",
        }),
        "geo_with_ctype": [
            ("sas", "hamster"),
            ("man", "hamster"),
            ("vla", "hamster")
        ]
    },
    {
        "name": "quick",
        "tags": base_tags|merge_with_dict({
            "prj": "web-fusion-3day,saas-refresh-shmick-mmeta",
            "tier" : "yandsearch"
        }),
        "geo_with_ctype": [
            ("sas", "prod"),
            ("man", "prod"),
            ("vla", "prod")
        ]
    },
    {
        "name": "quick_exp",
        "tags": base_tags|merge_with_dict({
            "prj": "web-refresh-3day",
            "tier" : "yandsearch"
        }),
        "geo_with_ctype": [
            ("sas", "experiment"),
            ("man", "experiment"),
            ("vla", "experiment")
        ]
    },
    {
        "name": "samohod",
        "tags": base_tags|merge_with_dict({
            "prj": "web-main",
            "tier" : "yandsearch"
        }),
        "geo_with_ctype": [
            ("sas", "prestable"),
            ("man", "prod"),
            ("vla", "prod")
        ]
    },
    {
        "name": "quick_hamster",
        "tags": base_tags|merge_with_dict({
            "prj": "web-refresh-3day",
            "tier" : "yandsearch"
        }),
        "geo_with_ctype": [
            ("vla", "hamster")
        ]
    },
    {
        "name": "shmick_hamster",
        "tags": base_tags|merge_with_dict({
            "prj": "web-refresh-3day",
            "tier" : "shmick"
        }),
        "geo_with_ctype": [
            ("vla", "hamster")
        ]
    }
] %>


<% set alerts = [
    {
        "name": "crashes",
        "signal": "messages-crashes_total_summ",
        "limits_by_service": {
            "quick_metasearch": [2, 3],
            "quick_exp_metasearch": [2, 3]
        }
    },
    {
        "name": "OOMs",
        "signal": "portoinst-ooms_summ",
        "limits_by_service": {
            "quick_metasearch": [1, 2],
            "quick_exp_metasearch": [1, 2],
            "hamster_mmeta": [1, 2],
            "frozen_hamster_mmeta": [1, 2]
        }
    },
    {
        "name": "tur_unanswer",
        "signal": "perc(unistat-com.tr-unanswer-humans_dmmm,or(unistat-com.tr-unanswer-humans-denom_dmmm,1))",
        "limits_by_service": {
            "quick": [3, 5],
            "shmick": [3, 5]
        }
    },
    {
        "name": "tur_unanswer_all",
        "signal": "perc(unistat-com.tr-unanswer_dmmm,max(unistat-com.tr-unanswer-denom_dmmm,100))",
        "limits_by_service": {
            "quick": [3, 10],
            "shmick": [3, 10]
        },
        "marty_by_service": {
            "quick": 1,
        },
        "abc_by_service": {
            "quick": "refresh"
        },
        "namespace_by_service": {
            "quick": "refresh"
        }
    },
    {
        "name": "unanswer",
        "signal": "perc(unistat-unanswer_dmmm,or(unistat-unanswer-denom_dmmm,1))",
        "limits_by_service": {
            "quick": [3, 5],
            "shmick": [3, 5]
        },
        "marty_by_service": {
            "quick": 1,
        },
        "abc_by_service": {
            "quick": "refresh"
        },
        "namespace_by_service": {
            "quick": "refresh"
        },
        "disaster_by_service": {
            "quick": {
                "enabled": 1,
                "warden_functionality_slug": "saas_shmick_mmeta_unanswer"
            }
        }
    },
    {
        "name": "unanswer_search",
        "signal": "perc(sum(unistat-samohod-unanswer_dmmm),or(unistat-samohod-unanswer-denom_dmmm,1))",
        "aver_sec": 300,
        "limits_by_service": {
            "samohod": [1, 2]
        },
        "marty_by_service": {
            "samohod": 1,
        },
        "abc_by_service": {
            "samohod": "refresh"
        },
        "namespace_by_service": {
            "samohod": "refresh"
        },
        "disaster_by_service": {
            "samohod": {
                "enabled": 1,
                "warden_functionality_slug": "saas_samohod_mmeta_unanswer_search"
            }
        }
    },
    {
        "name": "unanswer_search_comtr",
        "signal": "perc(unistat-com.tr-samohod-unanswer_dmmm,max(unistat-com.tr-samohod-unanswer-denom_dmmm,100))",
        "aver_sec": 300,
        "limits_by_service": {
            "samohod": [1, 2]
        },
        "early_detect": true,
        "marty_by_service": {
            "samohod": 1,
        },
        "abc_by_service": {
            "samohod": "refresh"
        },
        "namespace_by_service": {
            "samohod": "refresh"
        }
    },
    {
        "name": "unanswer_factors",
        "signal": "perc(sum(unistat-samohod-unanswer-factors_dmmm),or(unistat-samohod-unanswer-factors-denom_dmmm,1))",
        "aver_sec": 300,
        "limits_by_service": {
            "samohod": [0.5, 1]
        }
    },
    {
        "name": "unanswer_snippets",
        "signal": "perc(sum(unistat-samohod-unanswer-snippets_dmmm),or(unistat-samohod-unanswer-snippets-denom_dmmm,1))",
        "aver_sec": 300,
        "limits_by_service": {
            "samohod": [0.5, 1]
        }
    },
    {
        "name": "fullness",
        "signal": "perc(or(unistat-samohod-supermind-srch_dmmm,1),or(unistat-samohod-unanswer-srch-denom_dmmm,1))",
        "aver_sec": 300,
        "early_detect": true,
        "limits_by_service": {
            "samohod": [85, 70]
        }
    },
    {
        "name": "not_fetched_p",
        "signal": "perc(unistat-not_fetched_dmmm, max(unistat-context_created_dmmm, 1000))",
        "limits_by_service": {
            "quick": [4, 15],
            "quick_hamster": [4, 15],
            "shmick": [4, 15],
            "shmick_hamster": [4, 15],
            "quick_exp": [8, 30]
        },
        "early_detect": true
    },
    {
        "name": "rtmr-unanswer",
        "signal": "max(perc(unistat-rtmr-unanswer_dmmm,or(unistat-rtmr-unanswer-denom_dmmm,1)),perc(unistat-rtmr_factors-unanswer_dmmm, or(unistat-rtmr_factors-unanswer-denom_dmmm,1)))",
        "limits_by_service": {
            "quick": [1, 5],
            "shmick": [1, 5]
        },
        "early_detect": true,
        "marty_by_service": {
            "quick": 1,
        },
        "abc_by_service": {
            "quick": "refresh"
        },
        "namespace_by_service": {
            "quick": "refresh"
        }
    }
] %>

<< fusion_alerts.generate("mmeta", services, alerts) >>
