Commit Graph

705 Commits

Author SHA1 Message Date
Michael Klishin 480fb31640 Merge pull request #79 from rabbitmq/rabbitmq-server-1904
New channel metric: dropped unroutable messages
2019-04-25 18:13:05 +03:00
Diana Corbacho ea50b4d341 Typo 2019-04-24 20:44:37 +01:00
Michael Klishin 3e35332973 Export newly added functions 2019-04-24 18:20:30 +03:00
Michael Klishin 07189e9d38 Hide drop_unroutable metric behind a feature flag
For mixed version cluster compatibility per
suggestion from @dumbbell.

Pair: @dcorbacho.

Part of rabbitmq/rabbitmq-server#1904.

[#165548314]
2019-04-24 17:55:43 +03:00
Michael Klishin bc0a41e22d rabbit_mgmt_metrics_collector:aggregate_entry/4: update to include a new metric
Pair: @dcorbacho.
2019-04-24 17:23:42 +03:00
Michael Klishin cc5e931377 New channel metric: dropped unroutable messages
Part of rabbitmq/rabbitmq-server#1904.

[#165548314]
2019-04-23 23:25:26 +03:00
Gerhard Lazu 2317030cb8 Update rabbitmq-components.mk 2019-04-23 14:14:57 +01:00
Gerhard Lazu 470d80d0a4 Merge pull request #78 from rabbitmq/disable-metrics-collection
Option to disable metrics collector on startup
2019-04-17 12:44:02 +01:00
Diana Corbacho 1dbf141712 Add cuttlefish schema for agent/disable_metrics_collector
[#164376052]
2019-04-17 08:51:45 +01:00
Jean-Sébastien Pédron 3ce9849f27 rabbit_mgmt_gc_SUITE: Skip `quorum_queue_stats` if quorum queues are unsupported 2019-04-16 12:06:13 +02:00
Diana Corbacho 4c6e9b39bb Option to disable metrics collector on startup
Allows external stats to be gathered for the prometheus plugin, while
removing all metrics collection/aggregation and unnecesary management
services.

To disable set app env `disable_metrics_collector` to `true`.
Defaults `false`

[#164376052]
2019-04-10 20:19:41 +01:00
Diana Corbacho ff266f0c8c Clean up of non-local queue stats
Followers/slaves should not hold stats for any non-local queue.
Ensure clean up happens if any has been left behind

[#165153327]
2019-04-08 20:50:29 +01:00
Spring Operator 9ae86c9a42 URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.

* http://blog.listincomprehension.com/search/label/procket (200) with 1 occurrences could not be migrated:
   ([https](https://blog.listincomprehension.com/search/label/procket) result ClosedChannelException).
* http://dozzie.jarowit.net/trac/wiki/TOML (200) with 1 occurrences could not be migrated:
   ([https](https://dozzie.jarowit.net/trac/wiki/TOML) result SSLHandshakeException).
* http://dozzie.jarowit.net/trac/wiki/subproc (200) with 1 occurrences could not be migrated:
   ([https](https://dozzie.jarowit.net/trac/wiki/subproc) result SSLHandshakeException).
* http://e2project.org (200) with 1 occurrences could not be migrated:
   ([https](https://e2project.org) result AnnotatedConnectException).
* http://nitrogenproject.com/ (200) with 2 occurrences could not be migrated:
   ([https](https://nitrogenproject.com/) result ConnectTimeoutException).
* http://proper.softlab.ntua.gr (200) with 1 occurrences could not be migrated:
   ([https](https://proper.softlab.ntua.gr) result SSLHandshakeException).
* http://yaws.hyber.org (200) with 1 occurrences could not be migrated:
   ([https](https://yaws.hyber.org) result AnnotatedConnectException).
* http://choven.ca (503) with 1 occurrences could not be migrated:
   ([https](https://choven.ca) result ConnectTimeoutException).

# Fixed URLs

## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

* http://fixprotocol.org/ (301) with 1 occurrences migrated to:
  https://fixtrading.org ([https](https://fixprotocol.org/) result SSLHandshakeException).
* http://erldb.org (UnknownHostException) with 1 occurrences migrated to:
  https://erldb.org ([https](https://erldb.org) result UnknownHostException).

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* http://cloudi.org/ with 27 occurrences migrated to:
  https://cloudi.org/ ([https](https://cloudi.org/) result 200).
* http://erlware.org/ with 1 occurrences migrated to:
  https://erlware.org/ ([https](https://erlware.org/) result 200).
* http://inaka.github.io/cowboy-trails/ with 1 occurrences migrated to:
  https://inaka.github.io/cowboy-trails/ ([https](https://inaka.github.io/cowboy-trails/) result 200).
* http://ninenines.eu with 6 occurrences migrated to:
  https://ninenines.eu ([https](https://ninenines.eu) result 200).
* http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html with 1 occurrences migrated to:
  https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html ([https](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) result 200).
* http://www.actordb.com/ with 2 occurrences migrated to:
  https://www.actordb.com/ ([https](https://www.actordb.com/) result 200).
* http://www.cs.kent.ac.uk/projects/wrangler/Home.html with 1 occurrences migrated to:
  https://www.cs.kent.ac.uk/projects/wrangler/Home.html ([https](https://www.cs.kent.ac.uk/projects/wrangler/Home.html) result 200).
* http://www.rebar3.org with 1 occurrences migrated to:
  https://www.rebar3.org ([https](https://www.rebar3.org) result 200).
* http://contributor-covenant.org with 1 occurrences migrated to:
  https://contributor-covenant.org ([https](https://contributor-covenant.org) result 301).
* http://contributor-covenant.org/version/1/3/0/ with 1 occurrences migrated to:
  https://contributor-covenant.org/version/1/3/0/ ([https](https://contributor-covenant.org/version/1/3/0/) result 301).
* http://inaka.github.com/apns4erl with 1 occurrences migrated to:
  https://inaka.github.com/apns4erl ([https](https://inaka.github.com/apns4erl) result 301).
* http://inaka.github.com/edis/ with 1 occurrences migrated to:
  https://inaka.github.com/edis/ ([https](https://inaka.github.com/edis/) result 301).
* http://lasp-lang.org/ with 1 occurrences migrated to:
  https://lasp-lang.org/ ([https](https://lasp-lang.org/) result 301).
* http://saleyn.github.com/erlexec with 1 occurrences migrated to:
  https://saleyn.github.com/erlexec ([https](https://saleyn.github.com/erlexec) result 301).
* http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx with 1 occurrences migrated to:
  https://technet.microsoft.com/en-us/sysinternals/bb896655.aspx ([https](https://technet.microsoft.com/en-us/sysinternals/bb896655.aspx) result 301).
* http://www.mozilla.org/MPL/ with 21 occurrences migrated to:
  https://www.mozilla.org/MPL/ ([https](https://www.mozilla.org/MPL/) result 301).
* http://zhongwencool.github.io/observer_cli with 1 occurrences migrated to:
  https://zhongwencool.github.io/observer_cli ([https](https://zhongwencool.github.io/observer_cli) result 301).
* http://mozilla.org/MPL/2.0/ with 1 occurrences migrated to:
  https://mozilla.org/MPL/2.0/ ([https](https://mozilla.org/MPL/2.0/) result 302).
2019-03-20 03:18:00 -05:00
Michael Klishin f9b89c7a14 Travis: use Erlang 21.3, Elixir 1.8.1 2019-03-20 10:33:16 +03:00
Michael Klishin b3ff2ac9ad Provide a help description for CLI tools 2019-03-17 05:48:58 +03:00
Michael Klishin 7cdc464287 Update rabbitmq-components.mk 2019-03-15 09:34:39 +03:00
Michael Klishin c0bff9d440 Update rabbitmq-components.mk 2019-03-15 05:05:47 +03:00
Daniil Fedotov 10dcfe9d5c Format {terminated_by, Name} status for queues.
If a queue is bainf deleted and it takes some time, for example if there
are many bindings, the management UI crashes formatting the status.

Split the status and terminated_by name into proplist so fomatter
does not crash.
2019-03-01 13:47:28 -05:00
Michael Klishin 8f34daf3cf Update rabbitmq-components.mk 2019-02-12 23:23:57 +03:00
Jean-Sébastien Pédron 2201f35425 rabbit_mgmt_data_compat: New `fill_consumer_active_fields()` function
... to add the new `active` and `activity_status` fields in consumer
stats if they are missing.

This is the case for consumer stats returned by a RabbitMQ 3.7.x node.

[#163298456]
2019-02-04 17:22:24 +01:00
Jean-Sébastien Pédron adbac7ddfc rabbit_mgmt_data: Convert several stats to RabbitMQ 3.7.x format if needed
I.e., if the `empty_basic_get_metric` feature flag is disabled, we
remove the "get empty" queue metric from the slide, before returning it
to the caller.

[#159298729]
2019-01-29 16:03:31 +01:00
Jean-Sébastien Pédron 1388df59de Make #amqqueue{} a private record
See the corresponding commit in rabbitmq-server for all the
explanations.

Now, all accesses to the #amqqueue{} record are made through the
`amqqueue` module (available in rabbitmq-server). The new type name is
`amqqueue:amqqueue()`.

The `amqqueue.hrl` header also provides some macros to help with pattern
matching and guard expressions.

[#159298729]
2019-01-29 16:03:31 +01:00
Arnaud Cogoluègnes 1e9a95c3eb Add activity status to consumer metrics
[#163298456]

References rabbitmq/rabbitmq-server#1838
2019-01-24 10:52:14 +01:00
Arnaud Cogoluègnes 55843136d1 Update active consumer flag
Can be updated to true or false.

[#163298456]

References rabbitmq/rabbitmq-server#1838
2019-01-18 15:47:55 +01:00
Arnaud Cogoluègnes 4b02cc51d5 Add single active consumer flag in consumer metrics
[#163089472]

References rabbitmq/rabbitmq-management#649
2019-01-15 15:17:10 +01:00
Arnaud Cogoluègnes 04ddec2d59 Filter single active consumer pid
[#163089472]

References rabbitmq/rabbitmq-management#649
2019-01-11 09:29:54 +01:00
Luke Bakken 497aa77b5e Update rabbitmq-components.mk 2019-01-09 12:55:08 -08:00
Luke Bakken c00f8b339d Update rabbitmq-components.mk 2019-01-08 11:58:29 -08:00
Jean-Sébastien Pédron 2e1f0d132c Travis CI: Update config from rabbitmq-common 2019-01-08 17:12:44 +01:00
Michael Klishin 0aa7c53084 Update rabbitmq-components.mk 2018-12-06 18:28:50 +03:00
Michael Klishin 0a4e5f04e0 Update rabbitmq-components.mk 2018-12-06 03:15:15 +03:00
Jean-Sébastien Pédron 0081d63f2b Update rabbitmq-components.mk 2018-11-30 14:56:51 +01:00
Jean-Sébastien Pédron 40d2e8b9c2 Update rabbitmq-components.mk 2018-11-22 09:19:36 +01:00
Michael Klishin c5d8a6dd7f Merge branch 'master' into serialise-decimal 2018-10-31 19:50:06 +03:00
Diana Corbacho 652e42298c Serialise decimal arguments
[#161504803]
2018-10-30 14:44:10 +00:00
kjnilsson 09b0e90c98 Update rabbitmq-components.mk 2018-10-29 12:43:21 +00:00
kjnilsson 5cbc03787f Remove forced event refresh
As the management no longer relies on event data to build up the stats
database this function does not need to be called. The only time the
management needs to handle events is to trigger stats gc in a more
timely fashion when events are deleted.
2018-10-26 12:53:53 +01:00
Diana Corbacho 77b0c5da67 Revert "Revert "Collect ra open file stats""
This reverts commit 1770a2178e4f778f9c99847a5159459ffbdace0e.
2018-10-26 12:53:53 +01:00
Diana Corbacho 9958a25a02 Revert "Collect ra open file stats"
This reverts commit 7ee57c0b001eefd2a57d8eab97e3a32d6adbb117.
2018-10-26 12:53:32 +01:00
Diana Corbacho 8ce199b4b2 Retrieve quorum status from amqqueue record
Allows information to be displayed when the custer is in minority
[#157146500]
2018-10-26 12:51:54 +01:00
Diana Corbacho a5dd65cb75 Format follower/leader details into mirroring format
Allows uniform representation in the UI
[#154472407]
2018-10-26 12:51:54 +01:00
Diana Corbacho 02a144aa83 Update ra_log_segment_writer name 2018-10-26 12:50:36 +01:00
Diana Corbacho 85265430e5 Revert "Revert "Collect ra open file stats""
This reverts commit 1770a2178e4f778f9c99847a5159459ffbdace0e.
2018-10-26 12:50:36 +01:00
Diana Corbacho 85cab2d3c3 Collect ra io stats
[#157193081]
2018-10-26 12:50:36 +01:00
Diana Corbacho 564df7798b Revert "Collect ra open file stats"
This reverts commit 7ee57c0b001eefd2a57d8eab97e3a32d6adbb117.
2018-10-26 12:50:36 +01:00
Diana Corbacho a845fcfddd Collect ra open file stats
[#157193081]
2018-10-26 12:50:36 +01:00
Diana Corbacho d1799645f5 Retrieve quorum status from amqqueue record
Allows information to be displayed when the custer is in minority
[#157146500]
2018-10-26 12:50:36 +01:00
Diana Corbacho e298355e72 Format follower/leader details into mirroring format
Allows uniform representation in the UI
[#154472407]
2018-10-26 12:50:36 +01:00
Diana Corbacho 0401d0f600 Request churn rates for the given node
Not the local one
2018-10-16 12:05:24 +01:00
Diana Corbacho 97bc51df17 Report connection/channel/queue churn
Rate metrics for monitoring of high connection churn scenarios
[#160943831]
2018-10-09 11:54:56 +01:00
Luke Bakken e799248139 Make warning a bit more verbose
Fixes #67

[160936327]
2018-10-02 12:11:06 -07:00
Michael Klishin 213731e333 Merge pull request #65 from rabbitmq/get-empty-stats
Add basic.get_empty stats as a new counter
2018-09-25 19:24:26 +03:00
Jean-Sébastien Pédron 75fcd3c36b Update rabbitmq-components.mk 2018-09-19 10:38:16 +02:00
Diana Corbacho 54ccfef846 Add get empty stats as a new counter
Basic.get requests that return ok_empty used to be unaccounted for
[#160280626]
2018-09-17 11:21:12 +01:00
Jean-Sébastien Pédron 15a6efad3d Update rabbitmq-components.mk 2018-09-11 14:22:31 +02:00
Jean-Sébastien Pédron f80d2f9e19 Update rabbitmq-components.mk 2018-08-09 17:44:16 +02:00
Jean-Sébastien Pédron 0cc8e495c3 Update rabbitmq-components.mk 2018-08-09 12:17:02 +02:00
Michael Klishin 92d04790a3 Remove duplicates from proplists in one more case
Part of rabbitmq/rabbitmq-management#601.

[#159578855]
2018-08-07 02:13:38 +03:00
Michael Klishin 52837c2537 Avoid duplicate keys in rabbit_mgmt_format:strip_pids/1
For proplists that represent queues the key set is fixed,
so special casing 'node' should be good enough. For other entites
we take a heavier handed approach and remove all duplicates from
the input proplist. The overhead of this with 1K entities seems
to be low single digit % in an end-to-end test that involves an HTTP
client.

Once we switch that code to use maps, the workaround won't be
necessary at all.

Closes rabbitmq/rabbitmq-management#601.

[#159578855]
2018-08-07 01:59:22 +03:00
Michael Klishin c7a0e02656 Compile on OTP 21 from scratch
Part of rabbitmq/rabbitmq-server#1616.

[#157964874]
2018-06-08 01:45:00 +03:00
Jean-Sébastien Pédron d5ceda4fe5 Update rabbitmq-components.mk 2018-06-07 11:31:37 +02:00
Diana Corbacho aa6b96f282 Force events refresh when the management plugin is enabled
rabbitmq-management-agent#58
2018-05-23 17:35:50 +01:00
Michael Klishin 3be2102f1b Skip SNI option to avoid recursive TLS option formatting
Since every SNI map value is a set of TLS options, the solution
should be more involved. Our goal is not to present every single
option (we already intentionally hide some of them, e.g. configure
cipher suites), and SNI information does not really fit the UI.
So we can avoid the complexity and still fix the issue by
simply skipping the option.

References rabbitmq/rabbitmq-management#567.
2018-04-27 22:47:24 -05:00
Jean-Sébastien Pédron 69dc16c23f rabbit_mgmt_format: Convert `sni_hosts` to something compatible with jsx
jsx expects a proplist key to be an Erlang binary, an integer or an
atom. It doesn't accept an Erlang string, probably because it's
difficult to distinguish from a list of integers.

Therefore the patch consists of converting all hostnames under
`sni_hosts` from strings to binaries.

Fixes rabbitmq/rabbitmq-management#567.
2018-04-27 14:55:02 +02:00
Jean-Sébastien Pédron dc3e4a82ba Update erlang.mk 2018-04-11 10:53:26 +02:00
Jean-Sébastien Pédron aaa75bdb25 Update rabbitmq-components.mk 2018-04-11 10:51:22 +02:00
Jean-Sébastien Pédron b60db64682 Update rabbitmq-components.mk 2018-04-11 10:10:04 +02:00
Jean-Sébastien Pédron 0f3b6b2cab Travis CI: Update config from rabbitmq-common 2018-04-10 13:07:25 +02:00
Jean-Sébastien Pédron 816d7ddcc0 Update erlang.mk 2018-03-02 19:06:38 +01:00
Jean-Sébastien Pédron 52c3284c9f Update rabbitmq-components.mk 2018-01-30 15:23:42 +01:00
Luke Bakken 8e35aba740 Update rabbitmq-components.mk 2018-01-29 16:22:15 -08:00
Jean-Sébastien Pédron 5f9ca717ab Update rabbitmq-components.mk 2018-01-23 17:21:32 +01:00
Jean-Sébastien Pédron c871c1a03b Update rabbitmq-components.mk 2018-01-23 15:31:21 +01:00
Diana Corbacho 1aca2d36ff Update rabbitmq-components.mk 2018-01-22 22:13:24 +00:00
kjnilsson 93456ec48f Only return metrics_gc_queue_length metrics for the requested node.
This allows the data to be merged correctly further down.

[#153738257]
2017-12-20 10:23:44 +00:00
Jean-Sébastien Pédron 4cce5ca514 Travis CI: Update config from rabbitmq-common 2017-12-15 15:13:07 +01:00
Jean-Sébastien Pédron 3fbd503318 Update rabbitmq-components.mk 2017-12-01 11:06:36 +01:00
Jean-Sébastien Pédron d49aa6f638 Update rabbitmq-components.mk 2017-11-28 14:00:55 +01:00
Jean-Sébastien Pédron 20af883722 Update rabbitmq-components.mk 2017-11-28 13:35:56 +01:00
Jean-Sébastien Pédron 41f66d64bf Travis CI: Update config from rabbitmq-common 2017-11-08 09:52:31 +01:00
Diana Corbacho 682d7bfa7e Revert "Add erlang memory to node stats."
This reverts commit 470ef89014.
2017-10-31 11:44:36 +00:00
Diana Corbacho 8c2a8b14da Report memory calculation strategy on node stats 2017-10-31 11:41:56 +00:00
Daniil Fedotov 470ef89014 Add erlang memory to node stats.
Report both process memory (which can be rss) and erlang memory
to plot better stats.
2017-10-30 17:19:37 +00:00
Michael Klishin a3b076d4a1 Merge branch 'stable' 2017-10-25 21:29:47 +03:00
Diana Corbacho 8e5aebe8a1 Optimise formatting of channel stats
Avoids traversing the full list to format a single element

[#152240490]
2017-10-25 08:34:56 +01:00
Diana Corbacho 0d1987f0a0 Avoid the update of creation stats which have already been collected
Formatting utf8 info in connections is very expensive, and creation
data is never updated. Once collected for first time, there is no
need to write those stats again.

[#152240490]
2017-10-24 16:05:32 +01:00
Diana Corbacho 6f7446bb2f Performance enhancement: replace dict by maps
[#152240490]
2017-10-24 14:58:44 +01:00
Jean-Sébastien Pédron 441392f67c Merge branch 'stable' 2017-10-13 15:09:21 +02:00
Jean-Sébastien Pédron e85cd9f8bb Update rabbitmq-components.mk 2017-10-13 14:33:10 +02:00
Jean-Sébastien Pédron e03d2e0fa1 Update rabbitmq-components.mk 2017-10-13 14:13:12 +02:00
Jean-Sébastien Pédron 9430433600 Update rabbitmq-components.mk 2017-10-13 12:15:45 +02:00
Michael Klishin 87b7b3124e Update rabbitmq-components.mk 2017-09-13 17:54:25 -04:00
Michael Klishin 6d09969470 Update rabbitmq-components.mk 2017-09-13 17:45:34 -04:00
Michael Klishin cd6a85bcb7 Update rabbitmq-components.mk 2017-09-12 19:53:15 -04:00
Michael Klishin 36406aeb4e Update rabbitmq-components.mk 2017-09-12 12:41:54 -04:00
Daniil Fedotov 0a6a75564c Merge branch 'stable' 2017-08-30 19:20:39 +01:00
Daniil Fedotov 3e4177121a Update erlang.mk 2017-08-30 18:46:44 +01:00
Michael Klishin d2a4d814a1 Merge branch 'stable'
This adapts 9ae2e3658f for master (maps).

Conflicts:
	src/rabbit_mgmt_format.erl
2017-07-28 17:24:24 +03:00
Michael Klishin 9ae2e3658f Export one more formatting function
Needed by rabbitmq/rabbitmq-management#424.
2017-07-28 15:41:52 +03:00
kjnilsson 57a0b57652 Minor dialyzer fix 2017-07-27 09:57:09 +01:00
Michael Klishin c1b6c8b868 Erlang/OTP 19.2 is now the minimum supported version.
Part of rabbitmq/rabbitmq-server#1305.

[#149563549]
2017-07-26 19:02:59 +03:00
Michael Klishin 62b9a066e5 Update rabbitmq-components.mk 2017-07-26 03:48:27 +03:00
Michael Klishin 1bf2a7229a Update rabbitmq-components.mk 2017-07-26 02:27:08 +03:00
Michael Klishin 8af221a75c Merge branch 'rabbitmq-management-434' 2017-07-21 18:00:53 +03:00
Luke Bakken fc9609db84 whitespace 2017-07-21 07:05:17 -07:00
Luke Bakken 757994a2b9 Just use ets:tab2list 2017-07-20 15:01:07 -07:00
Luke Bakken 307abde5e6 Include node_node_metrics in node_data
This information is used in the "Cluster Links" section of the Management UI
2017-07-20 08:33:09 -07:00
Michael Klishin 4d8532bb8f Merge branch 'stable' 2017-07-10 11:39:47 -07:00
Michael Klishin 0a879c4a8e Merge branch 'stable' into rabbitmq-management-427 2017-07-10 07:22:57 -07:00
Michael Klishin 02c8614b0a Merge pull request #50 from rabbitmq/rabbitmq-management-421
Let already formatted AMQP tables pass through
2017-07-10 14:54:59 +03:00
kjnilsson 914269be31 Merge branch 'stable' 2017-07-10 11:26:47 +01:00
kjnilsson aeb6a0fdab Improve test assertion in metrics:node test.
Instead of trying to cover all connected nodes we
assert that there is a metric row from node A to node B.
2017-07-10 11:22:18 +01:00
Michael Klishin 1d21fe569b Merge branch 'master' into rabbitmq-management-421 2017-07-10 12:29:40 +03:00
Diana Corbacho acf448f04f Let already formatted AMQP tables pass through
rabbitmq-management#421
[#147429221]
2017-07-10 09:38:59 +01:00
Michael Klishin 901cfbbbba Remove unused function 2017-07-10 01:43:20 +03:00
Michael Klishin 6a4bfcd9c8 rabbit_mgmt_format: don't confuse format_args/1 and format_arguments/1
format_args/1 is meant to produce a list of triplets (an AMQP 0-9-1
attribute table).

format_arguments/1 converts an attribute table to a map.
2017-07-10 00:29:30 +03:00
kjnilsson 429ec2364c Fix xref issue.
rabbit_mgmt_util is defined in rabbitmq_management which isn't
referenced.
2017-07-07 17:07:37 +01:00
kjnilsson 245ad4dc78 remove stale comment 2017-07-06 15:15:04 +01:00
kjnilsson 0e836eb42b Create queue_msg_stats as non-incremental.
When zeroing out stats after deletion.

[#147753285]
2017-07-05 16:17:41 +01:00
kjnilsson 482664ad28 Revert ceil change 2017-07-05 09:43:47 +01:00
kjnilsson e5f76ff801 Clean up deleted queue metrics in collector.
Else we'd have to wait for a full stats background gc which can take a
very long time during which metrics may be duplicated in the UI.

[#147753285]
2017-07-04 11:59:06 +01:00
Jean-Sébastien Pédron 94f2be61ae Merge branch 'stable' 2017-07-03 12:20:33 +02:00
Jean-Sébastien Pédron 482bfc5ea1 rabbit_mgmt_metrics_collector: Do not auto-import ceil/1
We are using an local copy of ceil/1.

This fixes a warning reported with Erlang 20.
2017-07-03 12:19:28 +02:00
Jean-Sébastien Pédron 25b728abf7 metrics_SUITE: Use wait_until() in `node` testcase
... instead of a contstant timer. It takes more time to stabilize with
with some runs, so this avoids transient failures.
2017-07-03 12:18:15 +02:00
Jean-Sébastien Pédron 07922b5662 Merge branch 'stable' 2017-06-21 12:00:04 +02:00
Jean-Sébastien Pédron c213e6cd7b rabbit_mgmt_external_stats: Use vm_memory_monitor:get_process_memory()
... instead of rabbit_vm:total_memory() which was moved back to
vm_memory_monitor and renamed.

[#118490793, #145451399]
2017-06-21 11:58:40 +02:00
Michael Klishin bae397ffdd Merge branch 'stable' 2017-06-19 21:36:25 +03:00
Daniil Fedotov dede73ab7b Account for get_memory_use -> total_memory
re #1259

[#145451399]

Signed-off-by: Gerhard Lazu <gerhard@rabbitmq.com>
2017-06-15 10:28:54 +01:00
Michael Klishin d1292cc0bc Merge pull request #47 from rabbitmq/rabbitmq-server-1246-master
Replace term_to_binary with phash2 for args hash.
2017-06-14 20:19:31 +03:00
Daniil Fedotov 3886a8e9ec Use vm_memory_monitor when reporting total mem_used
[#145451399]

rabbitmq/rabbitmq-server#1259

Signed-off-by: Gerhard Lazu <gerhard@rabbitmq.com>
2017-06-14 13:54:35 +01:00
Daniil Fedotov a5ee6001ba Replace term_to_binary with phash2 for args hash.
term_to_binary can change in different OTP versions.
2017-06-13 15:33:36 +01:00
Michael Klishin 7c437b4aa2 Update rabbitmq-components.mk 2017-06-12 20:15:41 +03:00
Michael Klishin 279a9553b4 Update rabbitmq-components.mk 2017-06-12 18:35:41 +03:00
Daniil Fedotov 75f957546b Less compile warnings 2017-06-12 14:19:02 +01:00
Michael Klishin 47c074c491 Merge branch 'stable' 2017-06-02 18:10:49 +03:00
Michael Klishin 7978d3512b Update rabbitmq-components.mk 2017-06-02 17:51:29 +03:00
Daniil Fedotov c646d88f0f New CLI helpers API 2017-06-02 10:17:05 +01:00
Michael Klishin a50d284ee3 Update rabbitmq-components.mk 2017-06-02 00:43:24 +03:00
Michael Klishin dcfafde704 Update rabbitmq-components.mk 2017-06-01 18:01:40 +03:00
Jean-Sébastien Pédron 2f3665e3d4 Merge branch 'stable' 2017-05-16 18:09:17 +02:00
Jean-Sébastien Pédron 6fccc53d26 Makefile: Load the new `rabbitmq-early-plugin.mk` early-stage plugin
See the corresponding commit in rabbitmq-common for an explanation.

[#144697185]
2017-05-16 17:34:37 +02:00
Jean-Sébastien Pédron 3f557e37ce Update erlang.mk 2017-05-16 17:34:37 +02:00
Michael Klishin 41146f9e5c Merge branch 'stable' 2017-05-09 12:40:40 +03:00
Michael Klishin 936c1d1d4f Format ssl_opts in HTTP API listeners and Web contexts
Part of rabbitmq-management#393.

[#145067679]
2017-05-08 22:21:09 +03:00
Diana Corbacho 06f428eda0 Merge remote-tracking branch 'origin/stable' 2017-05-03 12:04:15 +01:00
Daniil Fedotov 823f5aab99 Replace dicts with maps 2017-04-24 18:25:38 +01:00
Diana Corbacho 3099726fc8 Use default value in config:get_env/2 2017-04-19 13:56:17 +01:00
Jean-Sébastien Pédron 586a17914a Merge branch 'stable' 2017-04-19 12:46:51 +02:00
Jean-Sébastien Pédron c983868162 Update erlang.mk 2017-04-19 12:02:57 +02:00
Diana Corbacho f7b034e802 Ensure numeric defaults, so atoms are not passed through
node_coarse_stats might ocassionally generate atoms, i.e. when disk
monitoring is not available, which should be filtered out.

rabbitmq-management#375
[#143489749]
2017-04-11 11:35:34 +01:00
Michael Klishin 369325422e Merge branch 'stable' 2017-04-08 08:25:31 +02:00
Diana Corbacho 31d7c724ab Throw an error if retention policies are missing
Node startup must fail if retention policies are missing, which from
3.6.7 are also required for collection. Instead of crash with a
function_clause, collectors now return a clear message.

rabbitmq-management-agent#41

[#143308479]
2017-04-07 11:55:10 +01:00
Michael Klishin 69bc7bc5cc Merge branch 'stable' 2017-04-02 22:01:36 +03:00
Michael Klishin 7247ffc5c1 (c) year 2017-04-02 21:48:27 +03:00
Michael Klishin 4206f032ba Merge branch 'stable'
Conflicts:
	src/rabbit_mgmt_format.erl
2017-03-23 20:37:26 +03:00
Michael Klishin 4aecd16927 Format consumer arguments in clean_consumer_details/1
References #39.
2017-03-23 16:44:54 +03:00
Michael Klishin df0507e556 Merge branch 'stable' 2017-03-23 01:45:20 +03:00
Michael Klishin 8eac00769b Shamelessly steal a tag escaping fn from Mochiweb
[#142213453]
2017-03-22 19:24:32 +03:00
Michael Klishin 8c97b652a9 Merge branch 'stable' 2017-03-21 12:45:05 +03:00
Michael Klishin e614cdff0c Filter out ciphers as well
Fixes rabbitmq/rabbitmq-management#364, references #36.
2017-03-21 12:37:17 +03:00
Michael Klishin 5ddbe9b52d Merge branch 'stable' 2017-03-20 13:21:06 +03:00
Michael Klishin 531625c838 Filter out two more options
References #36.
2017-03-18 18:59:19 +03:00
Michael Klishin 79c445e551 Wording 2017-03-18 18:48:33 +03:00
Michael Klishin d64da8c46b Filter out socket options that cannot be sensibly serialised to JSON
Some are functions, others contain deeply nested data structures that
nobody cares about in GET /api/overview output. It is easier to filter
them out than to find a way to convert them into something that
can serialise.

Fixes #36.
2017-03-18 18:45:07 +03:00
Michael Klishin 3bb7790e68 Merge branch 'stable' 2017-03-16 21:06:08 +03:00
Diana Corbacho 44a7d0aab4 Fix appending 2017-03-16 16:33:33 +00:00
Michael Klishin 0759d8c7bc Convert single atom options to {Option, true}
Fixes JSON serialisation e.g. when a TCP listener has
a single atom property such as "binary" configured.

Fixes #34.
2017-03-16 18:53:42 +03:00
Diana Corbacho c0a6801ab5 Test and clean up stats dependent on both process and entity
It leaked consumer_stats when the queue still existed, now both
entity and process must exist to keep the stats.
2017-03-10 15:48:34 +03:00
Diana Corbacho d3fd395f21 Test and clean up stats dependent on both process and entity
It leaked consumer_stats when the queue still existed, now both
entity and process must exist to keep the stats.
2017-03-07 10:17:59 +00:00
Michael Klishin aa061b50f7 Merge branch 'stable' 2017-03-07 00:04:49 +03:00
Michael Klishin 2c5ee14b5b Switch to rabbit_misc:is_process_alive/1 2017-03-06 23:07:01 +03:00
Diana Corbacho 7d6588a5d3 Check process aliveness on remote nodes 2017-03-06 15:58:31 +00:00
Michael Klishin 61b7a55152 Merge branch 'stable' 2017-03-03 15:01:20 +03:00
Michael Klishin 1edd08ed6e Merge pull request #30 from rabbitmq/rabbitmq-management-354
Make aggregate_entry a pure function
2017-03-03 14:49:42 +03:00
kjnilsson f7ca0b970a merge from stable 2017-03-02 16:12:31 +00:00
kjnilsson 558770374b Make aggregate_entry a pure function returning a set of
ets operations.

This avoids inserting into the same exometer slide data structure
multiple times each collection and thus reduces the amount of
unrealised rate data is kept around until the next interval.

[#140575873]
2017-03-02 15:56:25 +00:00
Michael Klishin 93dec034a0 Rename 2017-03-01 20:15:11 +03:00
kjnilsson bc59afd97e Remove unused argument 2017-03-01 15:54:54 +00:00
kjnilsson 2939c7fe0e Fix delayed first sample
When a new slide is created by the collector the first entry
added isn't realised up front. Here we artificially set the
start timestamp of the slide to be a full interval in the past.

[#140662033]
2017-03-01 15:17:55 +00:00
Diana Corbacho 434653e1c4 Delete marked core metrics during collection and propagate only aggregated ones 2017-03-01 15:17:55 +00:00
Diana Corbacho 3dae757873 Remove unused gc call
vhost_stats_coarse_conn_stats are indexed by vhost, no pid
2017-03-01 15:17:55 +00:00
kjnilsson 3de61fb2f9 dialyzer fixes 2017-03-01 09:00:28 +00:00
kjnilsson d697327f88 exometer_slide: normalise last_two
If a slide has been idle for some time then sees a single sample
the interval between the samples is much greater than the
slide interval which would result in an articifially low rate.
2017-03-01 08:34:27 +00:00
kjnilsson 69f530b873 exometer_slide:
adjust specs
    remove unused fields
    fix unlikely bug where FirstTS is undefined

[TrackerId]
2017-02-28 11:05:26 +00:00
Michael Klishin e0197b16d2 Merge branch 'stable' 2017-02-24 00:54:05 +03:00
Jean-Sébastien Pédron 777d89a8bc exometer_slide: Fix an "unused variable" warning
This should fix the build of the plugin.
2017-02-22 19:12:57 +01:00
Michael Klishin f5e0c57082 Merge branch 'stable' 2017-02-22 18:01:08 +03:00
Diana Corbacho 85a59629b9 Do not carry forward too old values from buffer2 2017-02-22 10:43:15 +00:00
Diana Corbacho 66d5a1c882 Remove unused variable 2017-02-21 16:56:35 +00:00
Diana Corbacho 19560487d4 Avoid filling towards the past when we have older values available 2017-02-21 16:56:35 +00:00
Diana Corbacho 66490bb80d Avoid filling range towards the past (that'd be TS-Interval < Start) 2017-02-21 16:56:27 +00:00
Michael Klishin 747cc97daa Merge branch 'stable' 2017-02-20 23:36:07 +03:00
Michael Klishin 60f2fba828 No real need to catch ets write exceptions
They are supposed to be truly exceptional cases in which case
we want a process termination and restart, which will leave
visible traces in the log.

Some experimentation with stats GC process termination
reveals no problems: the processes function as expected
after a streak of restarts.
2017-02-20 23:30:05 +03:00
Diana Corbacho 0623be32ba Test consumer stats 2017-02-20 14:37:55 +00:00
Diana Corbacho fece810e0f Avoid race condition between created/stats by reading directly from core metrics 2017-02-20 14:17:21 +00:00
Diana Corbacho 940b9e6b47 Use collect_statistics_interval for node stats 2017-02-20 14:15:24 +00:00
Diana Corbacho 5eaaf2ce1d Test stats gc 2017-02-20 14:14:51 +00:00
Gabriele Santomaggio 6e5d2363cb Changed gc_entities function 2017-02-17 11:13:47 +00:00
Diana Corbacho 7ab170ea5d GC queue-exchange stats 2017-02-17 11:13:47 +00:00
Diana Corbacho 79a1832ea9 Periodic garbage collection of leaked stats 2017-02-17 11:13:47 +00:00
Jean-Sébastien Pédron 5c278b0307 Merge branch 'stable' 2017-02-17 09:57:51 +01:00
kjnilsson bd5f0e54f3 Correct typo that caused the ExchangeFun to always return
false for channel_queue_exchange_metrics
2017-02-16 11:29:16 +00:00
Michael Klishin 50762b19de Update rabbitmq-components.mk 2017-02-11 23:29:30 +03:00
Michael Klishin f7ce6c348d Filter out verify_fun by name 2017-02-10 18:52:34 +03:00
Michael Klishin 410da64186 Filter out functions from listener options
They can't be serialised to JSON, that's why.
2017-02-10 18:38:11 +03:00
Michael Klishin 2a64e6b5c7 Update rabbitmq-components.mk 2017-02-10 11:16:32 +03:00
Michael Klishin 8041e273f5 Update rabbitmq-components.mk 2017-02-10 03:06:25 +03:00
Michael Klishin 697a6fe72e merge branch 'stable' 2017-02-08 16:55:47 +03:00
Michael Klishin 9366b02dc1 Update rabbitmq-components.mk 2017-02-08 16:38:17 +03:00
Michael Klishin 388251d77a merge branch 'stable' 2017-02-06 19:51:08 +03:00
Michael Klishin 65aba17232 Update rabbitmq-components.mk 2017-02-06 19:23:56 +03:00
Jean-Sébastien Pédron 813a092a1d Update rabbitmq-components.mk 2017-02-02 17:17:06 +01:00
Michael Klishin 9af93c2ee1 merge branch 'stable' 2017-01-31 18:19:08 +03:00
Michael Klishin 5b483f97b0 Update rabbitmq-components.mk 2017-01-31 18:06:29 +03:00
Jean-Sébastien Pédron b0483a3457 Merge branch 'stable' 2017-01-12 10:50:29 +01:00
Jean-Sébastien Pédron 8096ba744f Makefile: Add rabbitmq_ct_client_helpers to TEST_DEPS
metrics_SUITE depends on rabbitmq_ct_client_helpers and amqp_client now.
This fixes the testsuite.
2017-01-12 10:43:46 +01:00
Jean-Sébastien Pédron 2e1652efff metrics_SUITE: Fix an "unused variable" warning 2017-01-12 10:43:11 +01:00
Diana Corbacho 6b10a8edfd Merge branch 'stable' 2017-01-11 17:05:08 +01:00
Diana Corbacho a6c5e52ca4 Fix typo and add tests to verify stats recover after reset 2017-01-11 12:54:54 +01:00
Diana Corbacho ee65fdbe58 Merge remote-tracking branch 'origin/stable' 2016-12-22 13:03:22 +01:00
kjnilsson 61ce6bcf6a Remove unused code 2016-12-22 12:50:19 +01:00
Diana Corbacho 26957dde65 Reset old_aggr_stats 2016-12-21 16:47:51 +01:00
Jean-Sébastien Pédron e58a1cd36b Travis CI: Import changes from rabbitmq-auth-backend-amqp 2016-12-12 13:38:12 +01:00
Jean-Sébastien Pédron 58c0c8e29a Merge branch 'stable' 2016-12-09 19:23:29 +01:00
Jean-Sébastien Pédron 7028e832c2 Update rabbitmq-components.mk 2016-12-08 19:14:47 +01:00
Jean-Sébastien Pédron 76bdc6a409 Merge branch 'stable' 2016-12-08 18:00:26 +01:00
Jean-Sébastien Pédron 2ed8e7c97e Do not use -include_lib() with own headers
This fixes the build outside of an Umbrella-like setup, ie. when
dependencies of this plugin are put into the `deps` subdirectory.
2016-12-08 17:58:40 +01:00
Jean-Sébastien Pédron a0dcd0a84c Travis CI: Use Ubuntu Trusty image to have access to Elixir
Also, required `sudo` so a VM is used instead of a container. This makes
the test much longer, but allows us to install non-whitelisted packages
such as xsltproc.
2016-12-08 17:28:29 +01:00
Jean-Sébastien Pédron c77788b2b9 Merge branch 'stable' 2016-12-07 15:41:32 +01:00
Michael Klishin e04afc1a26 Drive by change: rabbit_log:warning/1 doesn't need a trailing new line 2016-12-06 20:41:51 +03:00
Michael Klishin 80c9b96d78 Merge branch 'master' into rabbitmq-management-295 2016-12-06 20:21:15 +03:00
Diana Corbacho 717028e8af CLI command to reset stats DB 2016-12-06 16:21:25 +00:00
kjnilsson 4ec823c36a Remove unused code 2016-12-06 15:54:02 +00:00
Jean-Sébastien Pédron f59dab0c14 Move from .app.src to Makefile variables
This is the recommended way with Erlang.mk.

By default, the version is inherited from rabbitmq-server-release when
the source archive is created, or computed from git-describe(1) (see
`rabbitmq-components.mk`). One can override the version from the command
line by setting the `PROJECT_VERSION` variable.

[#130992027]
2016-12-06 16:15:16 +01:00
Diana Corbacho 2be63383fd Fix merge 2016-12-05 16:28:23 +00:00
Jean-Sébastien Pédron 452a01e7d8 Move mochiweb_util to rabbitmq-common 2016-12-02 15:43:45 +01:00
kjnilsson 26a2d5449d Make it possible to purge the old_aggr_stats for testing purposes 2016-12-02 12:35:17 +00:00
Jean-Sébastien Pédron c806754b0f `time_compat` is gone in master, use os:system_time() directly 2016-12-02 13:00:31 +01:00
Diana Corbacho f2280ec241 Restore `log_files` lost during the merge 2016-12-01 17:20:41 +00:00
Michael Klishin 369a4a1a76 Merge branch 'stable'
Conflicts:
	src/rabbit_mgmt_external_stats.erl
	src/rabbitmq_management_agent.app.src
2016-12-01 14:14:58 +03:00
Diana Corbacho 5ad4ac491f Add top supervisor to restart the mgmt db 2016-12-01 08:33:10 +00:00
Michael Klishin c7275e89b3 Give preference to rabbitmq_management keys
for backwards compatibility, since rabbitmq_management_agent
has some of the commonly set keys in its .app file.
2016-12-01 03:47:50 +03:00
Michael Klishin d11cefdd7c Merge branch 'stable' 2016-11-30 18:55:47 +03:00
kjnilsson 2777343d2d Fix race condition where vhost_msg_stats were not updated after queue delete 2016-11-30 12:38:03 +00:00
Michael Klishin 37a3708b07 Merge branch 'stable' 2016-11-29 21:17:36 +03:00
Michael Klishin 0fec63c61a Update rabbitmq-components.mk 2016-11-29 20:59:32 +03:00
kjnilsson b1a4a2e6a1 Move rabbit_mgmt_format and mochiweb_util to rabbitmq_management_agent.
Dialyzer fixes
2016-11-29 16:32:19 +00:00
kjnilsson c45ec52f09 Move metrics collectors to agent 2016-11-29 13:00:50 +00:00
Diana Corbacho 5789de241a Return 0 if used fd is not available, log any error 2016-11-29 10:09:50 +00:00
Jean-Sébastien Pédron c6d82a2b85 Merge branch 'stable' 2016-11-25 11:47:00 +01:00