Skip to content

Latest commit

 

History

History
123 lines (96 loc) · 4.01 KB

File metadata and controls

123 lines (96 loc) · 4.01 KB
description
Released December 30, 2021

3.15.0

New features

  • Plugin healthcheck | Other plugins can now extend the Monitor list
  • New lookup tables UI
  • SMTP integration | Allows specifying a set of protocols enabled for SSL connection

Fixes and improvements

  • [fixed] First login with external authentication fails to identify an existing user with the same email
  • [fixed] Header size does not match the number of axes in vertical
  • [fixed] Some channels appear multiple times in the grouped tooltip
  • [fixed] Tooltip without background on the temporal pipes widget
  • [fixed] Legends being kept when new filter changes at the bar chart
  • UI improvements at dashboard filter setup
  • UI improvements at widget header
  • Multiple UI/UX improvements at plugin admin screen

Details

Plugin healthcheck | Other plugins can now extend the Monitor list

{% tabs %} {% tab title="Main.java" %}

public class Main implements LivePlugin {
    public void start(Live live) throws Exception {
        ...
        HealthcheckMonitorService monitorService = Objects.requireNonNull(live.system().getPluginService(HealthcheckMonitorService.class));
        monitorService.registerMonitor(live, new MyMonitor());
        ...
    }
}

{% endtab %}

{% tab title="MyMonitor.java" %}

public class MyMonitor implements HealthcheckMonitor {
        private static final String QUERY = ""; // some query
        private static final String EVENT_TYPE = ""; //some event type
        private Live.Action queriesHandler;

        @Override
        public void start(@NotNull Live live, @NotNull HealthcheckConfig healthcheckConfig) throws Exception {
            //start monitoring
            String statsEmail = healthcheckConfig.getGeneralStatsRecipient();
            final List<String> statsRecipients = Collections.singletonList(statsEmail);

            QueryListener.Empty listener = new QueryListener.Empty() {
                @Override
                public void onEvent(QueryEvent events, boolean history) throws Exception {
                    if (history) return;

                    Map<String, Object> stats = HealthCheckUtils.loadBaseEvent(live, EVENT_TYPE, HealthCheckUtils::hostNameSupplier);

                    for (Map<String, Object> event : events) {
                        stats.put("key1", event.get("key1"));
                    }

                    String json = LiveJson.toJson(stats);

                    HealthCheckUtils.sendEmailWithAttachments(live, json, statsRecipients);
                }
            };
            Query query = new Query(QUERY)
                    .follow(true)
                    .preloadWindow(true)
                    .description("My monitor query")
                    .listenWith(listener);

            queriesHandler = live.queries().run(query);
        }

        @Override
        public void stop(@NotNull Live live) throws Exception {
            //stop monitoring
            if (queriesHandler != null) {
                queriesHandler.close();
            }
        }
    }

{% endtab %}

{% tab title="pom.xml" %}

...
    <dependencies>
    ...
        <dependency>
            <groupId>net.intelie.live</groupId>
            <artifactId>plugin-healthcheck</artifactId>
            <version>3.15.0</version>
            <scope>provided</scope>
        </dependency>
        ...
    </dependencies>
...

{% endtab %} {% endtabs %}

SMTP integration | Allows specifying a set of protocols enabled for SSL connection

SMTP integration screen allows specifying a set of protocols for SSL connection. By default the plugin offers TLSv1.0, TLSv1.1, TLSv1.2, however, this list is extensible and accepts other protocols

Default list of protocols

New lookup tables UI

Distinction between lookup tables created by user and plugin

Lookup created by User

Lookup created by plugin