Welcome to mirror list, hosted at ThFree Co, Russian Federation.

Remmina_stats.md - gitlab.com/Remmina/remmina-sandbox.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: ae5f9965e4b9212baf3f2858c48dd0c6613670db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# Introduzione

# Copia e incolla di mail e discussioni

## Mail di Giovanni 5 gennaio 2018


\
Allora, come ti dicevo, pensavo di dividere in 2 parti il lavoro: tu
raccogli le statistiche, e io le invio. Mi occupo io della parte GUI
dell\'utente. Ho già fatto vari esperimenti, quindi ho già molto codice
scritto, ma ovviamente estremamente disordinato e lo devo riordinare.\

Nota dove ho messo per ora la richiesta di info (vedi in fondo alla main
window):\

![](cid:part1.08332E6C.A4B3F767@panozzo.it)

\

Per la tua parte sarebbe sufficiente che tu scrivessi delle funzioni in
un nuovo file, tipo remmina\_stats.c e remmina\_stats.h.\
\
Come ti dicevo, vorrei 2 categorie di funzioni\
\

1.  Una serie di funzioni da chiamare solo al momento dell\'invio
2.  Una serie di funzioni da chiamare ad ogni connessione, che annotano
    statistiche e quindi hanno bisogno di un DB dove salvarle. A te la
    scelta del DB\... puoi usare un g\_file oppure un DB sqlite3. Ti
    chiedo solo di renderlo leggibile/scrivibile solo dall\'utente
    (permessi 0600 circa), tanto perché non vengano esposti dati agli
    altri utenti. Penso che ci saranno delle funzioni da chiamare da
    dentro al singolo plugin, e funzioni da chiamare fuori dal plugin.
    Quindi va estesa la plugin API dove necessario. Vedi più sotto la
    proposta di alcune funzioni.\

Non mi piace lasciare altri valori salvati: tipo OS, desktop\... non li
voglio salvati da nessuna parte. Vanno ricalcolati ogni volta, ad ogni
invio, perché uno può cambiare desktop, trasportare remmina altrove\...\

Quindi penserei di salvare nel DB, al punto 2, solo statistiche. Al
punto 1, non si salva niente.\
\
\
**esempi di funzioni da chiamare al momento dell\'invio**

Queste funzioni interessanti che potresti sviluppare\

  --------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------
  remmina\_stats\_get\_uid()              ritorna un identificatore unico dell\'utente, dobbiamo discutere come calcolarlo. Anche questo \*NON\* lo voglio salvare nei file di cfg, per motivi di sicurezza.

  remmina\_stats\_get\_os()               torna una stringa che indica la distribuzione

  remmina\_stats\_get\_kernel()           torna una stringa che indica il kernel (qui decidiamo quale switch di \"uname\" usare)\

  remmina\_stats\_get\_desktop()\         Torna nome del desktop e versione\

  remmina\_stats\_get\_plugin\_usage()\   Legge statistiche dal DB e ritorna valori su frequenza e ultimo utilizzo.\
  --------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------

poi\... cambia nomi e inventati tu tutto quello che vuoi. Considera che
io invierò dati in formato json, quindi si potrebbe pensare anche che
alla fine forse scriverai anche una unica grande funzione
remmana\_stats\_get\_all() che le chiamerà tutte a turnno e tornerà
tutti i dati sopra in formato json, e io invierò quello.\
\[idee varie: pensa anche a come intercettare \*BSD\]\

**esempio di funzioni da richiamare nel codice per collezionare dati**

  ------------------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  remmina\_stats\_write\_profile\_count()\   Scrive nel DB il numero dei profili esistenti. Da chiamare alla fine di una \"enumerazione\" di tutta la directory dei files .remmina. Come parametro gli si potrebbe passare un array che indica quanti profili ci sono per ogni plugin.\

  remmina\_stats\_annotate\_connect()\       Da chiamare dentro ad ogni plugin subito dopo una connessione successful, annota nel DB data e ora dell\'ultima connessione per un certo profilo. La funzione sorella remmina\_stats\_get\_plugin\_usage() serve per ottenere statistiche salvate da questa funzione. Mi piacerebbe avere per ogni plugin almeno una frequenza di utilizzo nell\'ultima settimana, ed eventualmente anche l\'ultima data/ora di utilizzo.\
  ------------------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Ovviamente puoi aggiungere, cambiare i nomi\...\

Ecco. Intanto se vuoi trasformare tutto ciò in wiki \"confidential\" o
in un google doc o altro, fai pure. Cambia, aggiungi e togli.

\

\