louislam / uptime-kuma

A fancy self-hosted monitoring tool
https://uptime.kuma.pet
MIT License
52.83k stars 4.77k forks source link

`v2.0.0`-Release <- Read this for performance problems #4500

Open CommanderStorm opened 5 months ago

CommanderStorm commented 5 months ago

This was originally a PR here, but has been transformed into an issue due to being pin-able

what has been done?

We are hard at work improving Uptime Kuma. If you want to have a look at the full set of features for v2.0, have a look here.

Most notably this includes (a full migration guide will be made before the release, dont worry):

what is needed to get 2.0.0-beta.0 released

[!NOTE] We hope 2.0.0-beta.0 can be released in spring 2024, which doesn't include the e2e tests yet. During the beta test, we will try to work on implementing the e2e tests.

[!TIP] How can I get involved?

While most of the bugs noted below require reading some code => gaining some context about how the aggregated tables work, some work do not and are such better starting points:

  • writing a synthetic benchmark which spawns some monitors and looks how the server handles it
  • helping in writing e2e tests using playwright
compgeniuses commented 4 months ago

is version already installable at the moment, or there are many things yet to be done to make it so and for a pre-release

CommanderStorm commented 4 months ago

@compgeniuses Our installation guide only works for stable versions (it checks out a git tag to avoid users being on the wrong branch in npm run setup). Pre-releases will be made once we don't have glaring bugs left, see my post above for which ones there are.

If you want to test-drive or contribute one of the areas named above, our contribution guide should have all the answers. If you are missing something for development, feel free to ping me. We also have this way of testing PRs: https://github.com/louislam/uptime-kuma/wiki/Test-Pull-Requests

Aj7Ay commented 4 months ago

Uptime kuma supports API call so we can use Rundeck to set Incidents on it and once it resolves we can stop the incident is that possible?

CommanderStorm commented 4 months ago

This is an discussion issue. Please ask help-quesstions via the appropirate means to not spam everyone who subscribes to this thread

Uptime kuma supports API call

Currently, we don't have an official API. Please refer to my answer to you here https://github.com/louislam/uptime-kuma/issues/118#issuecomment-1994429676

VermiumSifell commented 3 months ago

How is it going?

CommanderStorm commented 3 months ago

I think you are asking about a status update: The checklist above is kept up to date in what needs to happen before 2.0.0-beta.0.

Is there something that we are missing in the post?

VermiumSifell commented 3 months ago

No I don't think so. But I am more interested in knowing if the beta is still estimated during the spring now?

CommanderStorm commented 3 months ago

We don't give out concrete deadlines and prioritise long-term team health over achieving short-term goals. => Maybe. See #noestimates why we don't give out more concrete timelines rather than "Spring" (=a flexgoal).

Being cheeky: If you want to move this along, you could consider contributing...

timbo-tj commented 1 month ago

What is the best way to try this out? We deploy via Docker on Railway.app and we use it to monitor our services. It is pretty low-stakes environment and I am happy to risk running a preview version of Uptime Kuma to get access to the new features and 'test run' it. But since it is not available on Docker hub I am not sure how to get started

Zaid-maker commented 1 month ago

What is the best way to try this out?

U can do this by not using docker but by running in nodejs environment. Read the README

timbo-tj commented 1 month ago

U can do this by not using docker but by running in nodejs environment. Read the README

Thanks - is it just the master branch? I couldn't find a specific branch or tag for v2.

CommanderStorm commented 1 month ago

Read the README

@Zaid-maker the path in our readme is designed to run a stable version as npm run setup checks out said version (=> preventing bugs). v2.0-dev is not stable.

CommanderStorm commented 1 month ago

In master, development happens for v2.0-dev. We currently have NOT published a git/docker tag as we are NOT ready to have a public beta (see the checklist above)

You can:

[!NOTE] If you want to use uptime kuma in any production environment, please refer to our installation guide. We do not offer stability/semver guarantees for development versions such as v2.0-dev. There will be a migration guide between the versions.

neelbhanushali commented 1 month ago

@CommanderStorm

I would like to take care of testing activity

Backend tests are stored in test/backend-test and Frontend tests are stored in test/e2e AFAIK

Can you help me with lists of tests that are to be written and documentation/examples of how they are to be written and tested

CommanderStorm commented 1 month ago

I am currently quite busy with uni stuff (I have a thesis deadline on Saturday) and I will get back to you on what is necessary precisely and on the code examples:

From the api side, I think these things need a test case:

I think the most beneficial would be a frontend end to end test of interacting with monitors:

Fom the initialisation side (bit trickier):

From a monitor perspective (not related to v2.0, but to be complete): Most of our monitors are currently untested. At least some of the bug reports are likely due to this. My longer term plan is to use test containers to verify the monitors work as intended. I have currently not been able to finish the debugging effort of said PR (it is basically done, but one test case is not working. Will need to debug)

From the notification providers (not related to v2.0, but to be complete): Our current testing strategy is to require screenshots of the relevant events by our contributors. I am unsure if we can test this better, but am open to ideas ^^

PinguDEV-original commented 2 weeks ago

When do you this this'll be ready?

CommanderStorm commented 2 weeks ago

We don't give out concrete deadlines and prioritise long-term health over achieving short-term goals. In a volunteer run org, anything else would not be sustainable. See #noestimates why we don't give out more concrete timelines rather than "Spring"/"Summer" (=a flexgoal).

Being cheeky: If you want to move this along, you could consider contributing ...

gustavovalverde commented 1 week ago

I'd like to know if it's possible to have v2 (or nightly docker versions) of this repo published in Docker Hub. If there's any technical constraint for that purpose, I might be able to contribute.

compgeniuses commented 1 week ago

I'd like to know if it's possible to have v2 (or nightly docker versions) of this repo published in Docker Hub. If there's any technical constraint for that purpose, I might be able to contribute.

While a good idea, it may end up causing alot of support request that are unnecessary to the community due to incomplete build version.