make sure the user is notified in case of snapshot errors
Costa Tsaousis (ktsaou) committed
Nov 14, 2017 at 18:28 UTC
d919b276f5c53850511dc65e273020a216ab6e41
1 file changed
+18
-7
web/index.html
+18
-7
@@ -3074,7 +3074,7 @@
3074
duration_ms: options.duration * 1000,
3075
update_every_ms: options.update_every * 1000,
3076
data_points: 0,
3077
- url: document.location.origin.toString() + document.location.search.toString(),
3077
+ url: ((urlOptions.server !== null)?urlOptions.server:document.location.origin.toString() + document.location.search.toString()).toString(),
3078
comments: document.getElementById('saveSnapshotComments').value.toString(),
3079
hash: urlOptions.hash,
3080
charts: options.data,
@@ -3083,6 +3083,8 @@
3083
submenu: netdataDashboard.submenu,
3084
context: netdataDashboard.context
3085
}),
3086
+ charts_ok: 0,
3087
+ charts_failed: 0,
3088
data: {}
3089
};
3090
@@ -3095,8 +3097,12 @@
3097
data.state = null;
3098
str = JSON.stringify(data);
3099
3098
- saveData.data[state.chartDataUniqueID()] = str;
3099
- return str.length;
3100
+ if(typeof str === 'string') {
3101
+ saveData.data[state.chartDataUniqueID()] = str;
3102
+ return str.length;
3103
+ }
3104
+ else
3105
+ return 0;
3106
}
3107
3108
var clearPanAndZoom = false;
@@ -3112,7 +3118,7 @@
3118
saveSnapshotModalLog('info', 'Generating snapshot with ' + saveData.data_points.toString() + ' data points per dimension...');
3119
3120
var charts_count = 0;
3115
- var charts_fetched = 0;
3121
+ var charts_ok = 0;
3122
var charts_failed = 0;
3123
3124
function saveSnapshotRestore() {
@@ -3167,26 +3173,31 @@
3173
state.current.force_before_ms = null;
3174
3175
if(status === true) {
3170
- charts_fetched++;
3176
+ charts_ok++;
3177
// state.log('ok');
3178
+ size += pack_api1_v1_chart_data(state);
3179
}
3180
else {
3181
charts_failed++;
3182
state.log('failed to be updated: ' + reason);
3183
}
3184
3178
- size += pack_api1_v1_chart_data(state);
3179
-
3185
saveSnapshotModalLog((charts_failed)?'danger':'info', 'Generated size ' + (Math.round(size * 100 / 1024 / 1024) / 100).toString() + ' MB. ' + ((charts_failed)?(charts_failed.toString() + ' charts have failed to be downloaded'):'').toString());
3186
3187
if (idx > 0) {
3188
update_chart(idx);
3189
}
3190
else {
3191
+ saveData.charts_ok = charts_ok;
3192
+ saveData.charts_failed = charts_failed;
3193
+
3194
// save it
3195
// console.log(saveData);
3196
saveObjectToClient(saveData, filename);
3197
3198
+ if(charts_failed > 0)
3199
+ alert(charts_failed.toString() + ' failed to be downloaded');
3200
+
3201
saveSnapshotRestore();
3202
saveData = null;
3203
}