You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: UPGRADING.md
+59-20Lines changed: 59 additions & 20 deletions
Original file line number
Diff line number
Diff line change
@@ -1,46 +1,69 @@
1
-
# Upgrade from 0.9 to 1.x
1
+
# Upgrading from 0.9 to 0.10.x
2
2
3
3
## Objectives
4
4
5
-
This major upgrade achieves the following objectives:
5
+
0.10.0 represents a big step forward for the Prometheus Ruby client, which comes with some
6
+
breaking changes. The objectives behind those changes are:
6
7
7
-
1. Follow [client conventions and best practices](https://prometheus.io/docs/instrumenting/writing_clientlibs/)
8
-
2. Add the notion of Pluggable backends. Client should be configurable with different backends: thread-safe (default), thread-unsafe (lock-free for performance on single-threaded cases), multiprocess, etc.
9
-
Consumers should be able to build and plug their own backends based on their use cases.
8
+
1. Bringing the Ruby client in line with [Prometheus conventions and best
2. Adding support for multi-process web servers like Unicorn. This was done by introducing
11
+
the notion of pluggable storage backends.
12
+
13
+
The client can now be configured with different storage backends, and we provide 3 with
14
+
the gem: thread-safe (default), thread-unsafe (best performance in single-threaded use
15
+
cases), and a multi-process backend that can be used in forking web servers like
16
+
Unicorn.
17
+
18
+
Users of the library can build their own storage backend to support different
19
+
use cases provided they conform to the same interface.
10
20
11
21
## Ruby
12
22
13
-
The minimum supported Ruby version is 2.0.0.
23
+
The minimum supported Ruby version is now 2.3. This will change over time according to our
24
+
[compatibility policy](COMPATIBILITY.md).
14
25
15
26
## Data Stores
16
27
17
-
You can specify the data store implementation depending on your needs.
28
+
The single biggest feature in this release is support for multi-process web servers.
18
29
19
-
For example, if you are running a pre-fork application using Unicorn you will need a way to aggregate the metrics from each of your workers before Prometheus scrapes them.
30
+
The way this was achieved was by introducing a standard interface for metric storage
31
+
backends and providing implementations for the most common use-cases.
20
32
21
-
This can be achieved with DirectFileStore.
33
+
If you're using a multi-process web server, you'll want `DirectFileStore`, which
0 commit comments