Skip to content

Tags: zeb19037/servo

Tags

v0.13.2

Toggle v0.13.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
stop using JCenter for publishing (Netflix#469)

Main goal of this change is to phase out the use of
JCenter before it is [sunset].

[sunset]: https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/

The following updates have been made:

- Move from TravisCI to Github Actions.
- Update to latest Nebula plugins.
- Update to latest Gradle and codequality plugins.
- Fix a few issues flagged by updated codequality plugins.
- Remove API compatibility check. This broke for some
  and given the current state of Servo, it was just
  removed rather than trying to fix.

v0.13.1

Toggle v0.13.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
stop using JCenter for publishing (Netflix#469)

Main goal of this change is to phase out the use of
JCenter before it is [sunset].

[sunset]: https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/

The following updates have been made:

- Move from TravisCI to Github Actions.
- Update to latest Nebula plugins.
- Update to latest Gradle and codequality plugins.
- Fix a few issues flagged by updated codequality plugins.
- Remove API compatibility check. This broke for some
  and given the current state of Servo, it was just
  removed rather than trying to fix.

v0.13.0

Toggle v0.13.0's commit message
v0.13.0

Use a no-op registry by default. Set

```
com.netflix.servo.DefaultMonitorRegistry.registryClass=com.netflix.servo.jmx.JmxMonitorRegistry
```

to get the previous behavior

v0.12.28

Toggle v0.12.28's commit message
add a checkArgument that avoids varargs (Netflix#465)

Avoids varargs and the allocation overhead of creating a string array.

During application profiling found that some allocation can be avoided
if we explicitly invoke the checkArgument method without varargs

Allocation profiling via async-profiler:

```
--- 1451114625215846968 bytes (21.40%), 10371 samples
  [ 0] java.lang.String[]
  [ 1] com.netflix.servo.tag.BasicTag.checkNotEmpty
  [ 2] com.netflix.servo.tag.BasicTag.<init>
  [ 3] com.netflix.servo.tag.Tags.newTag
  [ 4] com.netflix.servo.monitor.MonitorConfig$Builder.withTag
```

v0.12.27

Toggle v0.12.27's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
do not warn if global registry used for context (Netflix#463)

If the Spectator global registry is used for the SpectatorContext,
then do not log a warning. In some legacy apps the context must
be set early to the global registry to avoid missing some metrics.
It can then be overwritten by the primary registry after it has
been created later in the startup process.

v0.12.26

Toggle v0.12.26's commit message
warn if SpectatorContext registry is overwritten (Netflix#458)

Adds a warning level log message if the registry used with
the SpectatorContext is overwritten. This should help with
debugging cases where Servo metrics are not being reported
properly because of initialization bugs in the application.

v0.12.25

Toggle v0.12.25's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
avoid mem leak for improper use of registerObject (Netflix#451)

Calling `Monitors.registerObject` with a monitor such as
a `BasicCounter` instance will register an empty composite
monitor with an id like `default:class=BasicCounter`. When
using the spectator integration this would result is a
memory leak because it needs to track the instances to be
able to aggregate the results.

This change updates the registration to remove any previous
copies and overwrite which is the default for servo. It also
double checks if it is an empty basic composite and just
ignores those since they will never have any monitors to
collect.

It is a bit difficult to test without a bunch of reflection
to dig into the guts of the meter state. I did reproduce in
a debugger using the following test case and confirm the
state is no longer growing:

```java
@test
public void testBasicCounterLoop() {
  for (int i = 0; i < 1000; ++i) {
    BasicCounter c = new BasicCounter(CONFIG);
    Monitors.registerObject(c);
    c.increment();
  }
  assertEquals(1000, registry.counter(ID).count());
}
```

v0.12.24

Toggle v0.12.24's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
base StatsMonitor expiration on writes (Netflix#450)

Before it was using calls to `getMonitors` to update the
last used time. That method will not get called when
delegating to Spectator and thus it will always expire
15 minutes after registration and never come back.

This changes the last used time to get updated when
values are recorded rather than when they are read using
`getMonitors`.

v0.12.23

Toggle v0.12.23's commit message
v0.12.23

Fixes in the delegation to spectator

* Registration tags

* Custom counters mapped to monotonic counters

v0.12.22

Toggle v0.12.22's commit message
v0.12.22

Delegate to spectator. The goal is to ease the transition of servo to
spectator at Netflix.