コード例 #1
0
def test_size_trend_growing(args: ArgsDict) -> None:
    with suppress(GetRateError):
        list(size_trend(**args))

    args["levels"] = {
        "trend_range": 1,
        "trend_perfdata": True,
        "trend_bytes": (150 * 1024**2, 250 * 1024**2),
        "trend_perc": (5.0, 15.0),
    }
    args.update({"used_mb": 200, "timestamp": 1801.0})
    assert list(size_trend(**args)) == [
        Metric(name="growth", value=4800.0),
        Result(
            state=State.WARN,
            summary=
            "trend per 1 hour 0 minutes: +200 MiB (warn/crit at +150 MiB/+250 MiB)",
        ),
        Result(
            state=State.WARN,
            summary=
            "trend per 1 hour 0 minutes: +10.00% (warn/crit at +5.00%/+15.00%)",
        ),
        Metric("trend",
               4800.0,
               levels=(100.0, 250.0),
               boundaries=(0.0, 2000.0)),
        Result(
            state=State.OK,
            summary="Time left until resource_name full: 9 hours 0 minutes"),
    ]
コード例 #2
0
def test_size_trend_shrinking_warn(args: ArgsDict) -> None:
    args["used_mb"] = 1000
    with suppress(GetRateError):
        list(size_trend(**args))

    args["levels"] = {
        "trend_range": 1,
        "trend_perfdata": True,
        "trend_shrinking_bytes": (100 * 1024**2, 200 * 1024**2),
        "trend_shrinking_perc": (5.0, 10.0),
    }
    args.update({
        "timestamp": 1801.0,
        "used_mb": 900,
    })
    assert list(size_trend(**args)) == [
        Metric(name="growth", value=-4800.0),
        Result(
            state=State.WARN,
            summary=
            "trend per 1 hour 0 minutes: -200 MiB (warn/crit below -100 MiB/-200 MiB)",
        ),
        Result(
            state=State.WARN,
            summary=
            "trend per 1 hour 0 minutes: -10.00% (warn/crit below -5.00%/-10.00%)",
        ),
        Metric("trend", -4800.0, boundaries=(0.0, 2000.0)),
    ]
コード例 #3
0
ファイル: test_size_trend.py プロジェクト: gradecke/checkmk
def test_size_trend(args: ArgsDict) -> None:
    # size_trend returns generator, but we need to evaluate it
    # so the valuestore is written properly
    with suppress(GetRateError):
        list(size_trend(**args))

    # New measurement half an hour later with 100MB more
    args.update({"used_mb": 200, "timestamp": 1.0 + 1800})
    # (100 (MB) / 1800) * 3600 * 24
    assert list(size_trend(**args)) == [
        Metric(name="growth", value=4800.0),
        Result(state=State.OK, summary="trend per 1 hour 0 minutes: +200 MiB"),
        Result(state=State.OK, summary="trend per 1 hour 0 minutes: +10.00%"),
        Metric("trend", 4800.0, boundaries=(0.0, 2000.0)),
        Result(state=State.OK, summary="Time left until resource_name full: 9 hours 0 minutes"),
    ]
コード例 #4
0
ファイル: test_size_trend.py プロジェクト: LinuxHaus/checkmk
def test_size_trend_shrinking_ok(args: ArgsDict) -> None:
    args["used_mb"] = 1000
    with suppress(GetRateError):
        _call_size_trend_with(args)

    args["levels"] = {
        "trend_range": 1,
        "trend_perfdata": True,
        "trend_shrinking_bytes": (100 * 1024**2, 200 * 1024**2),
        "trend_shrinking_perc": (5.0, 10.0),
    }
    args.update(
        {
            "timestamp": 1801.0,
            "used_mb": 990,
        }
    )
    assert _call_size_trend_with(args) == [
        Metric(name="growth", value=-480.0),
        Result(state=State.OK, summary="trend per 1 hour 0 minutes: -20.0 MiB"),
        Result(state=State.OK, summary="trend per 1 hour 0 minutes: -1.00%"),
        Metric("trend", -480.0, boundaries=(0.0, 2000.0)),
    ]