X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fanalytics%2FPlausible.java;h=ab2de77c24fcbc4c2aabf026a6633011980530d7;hb=ed379d3f998a6aea83ce8c9cdaab2ec8234adb6a;hp=1f2754e905b92cb7753794a8f4d4b37ab0ec6a6a;hpb=18615246e3b259faacbc97d97a34a72ef600195b;p=jalview.git
diff --git a/src/jalview/analytics/Plausible.java b/src/jalview/analytics/Plausible.java
index 1f2754e..ab2de77 100644
--- a/src/jalview/analytics/Plausible.java
+++ b/src/jalview/analytics/Plausible.java
@@ -1,3 +1,23 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.analytics;
import java.io.BufferedReader;
@@ -19,28 +39,29 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Random;
import jalview.bin.Cache;
import jalview.bin.Console;
-import jalview.bin.Jalview;
import jalview.util.ChannelProperties;
import jalview.util.HttpUtils;
public class Plausible
{
- private static final String USER_AGENT = HttpUtils.getUserAgent(
- MethodHandles.lookup().lookupClass().getCanonicalName());
+ private static final String USER_AGENT;
private static final String JALVIEW_ID = "Jalview Desktop";
private static final String DOMAIN = "jalview.org";
- private static final String CONFIG_API_BASE_URL = "https://www.jalview.org/config/analytics/url";
+ private static final String CONFIG_API_BASE_URL = "https://www.jalview.org/services/config/analytics/url";
- private static final String DEFAULT_API_BASE_URL = "https://DEFAULT.plausible.io/api/event";
+ private static final String DEFAULT_API_BASE_URL = "https://analytics.jalview.org/api/event";
private static final String API_BASE_URL;
+ private static final String clientId;
+
public static final String APPLICATION_BASE_URL = "desktop://localhost";
private List> queryStringValues;
@@ -85,6 +106,9 @@ public class Plausible
System.getProperty("os.arch") + " "
+ System.getProperty("os.name") + " "
+ System.getProperty("os.version"));
+ defaultProps.put("os", System.getProperty("os.name"));
+ defaultProps.put("os_version", System.getProperty("os.version"));
+ defaultProps.put("os_arch", System.getProperty("os.arch"));
String installation = Cache.applicationProperties
.getProperty("INSTALLATION");
if (installation != null)
@@ -94,6 +118,13 @@ public class Plausible
// ascertain the API_BASE_URL
API_BASE_URL = getAPIBaseURL();
+
+ // random clientId to make User-Agent unique (to register analytic)
+ clientId = String.format("%08x", new Random().nextInt());
+
+ USER_AGENT = HttpUtils.getUserAgent(
+ MethodHandles.lookup().lookupClass().getCanonicalName() + " "
+ + clientId);
}
private Plausible()
@@ -143,10 +174,6 @@ public class Plausible
if (sendDefaultProps)
{
props.putAll(defaultProps);
- if (Jalview.isHeadlessMode())
- {
- props.put("headless", "true");
- }
}
// add (and overwrite with) the passed in props
@@ -572,4 +599,4 @@ public class Plausible
}
return DEFAULT_API_BASE_URL;
}
-}
\ No newline at end of file
+}