GithubHelp home page GithubHelp logo

metricsql's Introduction

VictoriaMetrics

Latest Release Docker Pulls Slack GitHub license Go Report Build Status codecov

VictoriaMetrics logo

VictoriaMetrics is a fast, cost-saving, and scalable solution for monitoring and managing time series data. It delivers high performance and reliability, making it an ideal choice for businesses of all sizes.

Here are some resources and information about VictoriaMetrics:

Yes, we open-source both the single-node VictoriaMetrics and the cluster version.

Prominent features

VictoriaMetrics is optimized for timeseries data, even when old time series are constantly replaced by new ones at a high rate, it offers a lot of features:

Enterprise version

In addition, the Enterprise version includes extra features:

  • Anomaly detection: Automation and simplification of your alerting rules, covering complex anomalies found in metrics data.
  • Backup automation: Automates regular backup procedures.
  • Multiple retentions: Reducing storage costs by specifying different retentions for different datasets.
  • Downsampling: Reducing storage costs and increasing performance for queries over historical data.
  • Stable releases with long-term support lines (LTS).
  • Comprehensive support: First-class consulting, feature requests and technical support provided by the core VictoriaMetrics dev team.
  • Many other features, which you can read about on the Enterprise page.

Contact us if you need enterprise support for VictoriaMetrics. Or you can request a free trial license here, downloaded Enterprise binaries are available at Github Releases.

We strictly apply security measures in everything we do. VictoriaMetrics has achieved security certifications for Database Software Development and Software-Based Monitoring Services. See Security page for more details.

Benchmarks

Some good benchmarks VictoriaMetrics achieved:

Community and contributions

Feel free asking any questions regarding VictoriaMetrics:

If you like VictoriaMetrics and want to contribute, then please read these docs.

VictoriaMetrics Logo

Zip contains three folders with different image orientations (main color and inverted version).

Files included in each folder:

  • 2 JPEG Preview files
  • 2 PNG Preview files with transparent background
  • 2 EPS Adobe Illustrator EPS10 files

Logo Usage Guidelines

Font used

  • Lato Black
  • Lato Regular

Color Palette

We kindly ask

  • Please don't use any other font instead of suggested.
  • To keep enough clear space around the logo.
  • Do not change spacing, alignment, or relative locations of the design elements.
  • Do not change the proportions for any of the design elements or the design itself. You may resize as needed but must retain all proportions.

metricsql's People

Contributors

amper avatar damon07 avatar dmitryk-dk avatar f41gh7 avatar hagen1778 avatar hzwwww avatar luckyxiaoqiang avatar tenmozes avatar valyala avatar zekker6 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

metricsql's Issues

apply rule-based optimization

Some queries may be optmized by some rules to reduce latency and impove performance, such As

foo > 2 < 1     -> empty
sum(sum(sum(foo) by (a, b, c) by (a, b))) by (a)  -> sum(foo) by (a)

Support seting dynamic time duration

We want set dynamic time duration when generate recoding rules, support using variable during e.g.

  • with (a = 2h) (up{job="samples"}[a])
  • with (a = "2h") (up{job="samples"}[a])
  • with (hours = (day_of_month() - 1) * 24 + hour() + "h") (up{job="samples"}[hours])

related issue: dynamic time duration

Support remove label

When I use PushdownBinaryOpFilters
Example:
sum(rabbitmq_queue_messages_unacknowledged)
change to
sum(rabbitmq_queue_messages_unacknowledged{job=''rabbitmq-exporter})
But before PushdownBinartOpFilters,I want remove the label of job
Example:
sum(rabbitmq_queue_messages_unacknowledged{job=''rabbitmq-exporter})
change to
sum(rabbitmq_queue_messages_unacknowledged)
Does this feature currently support it? It's really useful !

DurationExpr support set operation

in application code, i want to convert metricql foo{} to foo{}[1d], but the RollupExpr's field (DurationExpr) has no update operation. can we support it in the near future.

i is not equal to j

if i == j || i == len(s) {

	if s[i] == '.' {
		j := i
		i++
		for i < len(s) && isDecimalChar(s[i]) {
			i++
		}
		if i == j || i == len(s) {
			return -1
		}
	}

I'm learning MetricsQL and I've noticed that here 'i' might not be equal to 'j' because 'i' undergoes an addition operation. Should it be j+1 here?

WITH templates collision between names of variables and functions #2383

Describe the bug
When using WITH templates, users can define variables with custom names:

WITH(
now = sum(rate(my_metric_total)),
before = sum(rate(my_metric_total) offset 1h)
)
now/before*100

This expression will fail starting from v1.70 where new MetricsQL function now() was introduced.
But for versions below v1.70 the expression will be valid.

To Reproduce
See https://play.victoriametrics.com/promql/expand-with-exprs?query=WITH%28%0D%0Anow+%3D+sum%28rate%28my_metric_total%29%29%2C%0D%0Abefore+%3D+sum%28rate%28my_metric_total%29+offset+1h%29%0D%0A%29%0D%0Anow%2Fbefore*100&commit=Expand

Expected behavior
Local variable names should not conflict with function names. Otherwise, adding new function to MetricsQL will always have a chance to affect existing user queries.

cc @valyala

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.