Launch Logger: traccia ogni volta che JMP viene avviato su una macchinaAvvia Registratore Componente aggiuntivo JMP, versione 1
Scritto da Jeff Perkinson, jeff.Perkinson@jmp.com
Launch Logger crea un piccolo file di testo contenente i dettagli del sistema ogni volta che viene avviato JMP.
Questi file di testo possono essere utilizzati per tenere traccia di quante volte JMP viene avviato su un determinato computer.
Se un amministratore di sistema raccoglie tutti questi file su una raccolta di macchine, l'amministratore può tenere traccia degli avvii di JMP all'interno di un'organizzazione.
Launch Logger non ha un'interfaccia utente. Utilizza addinload.jsl per raccogliere informazioni di sistema e scriverle nel file di testo.
Il file di testo è memorizzato nella directory definita dal file Variabile percorso JMP USER_APPDATA. La posizione indicata da questa variabile dipende dal prodotto JMP e dal sistema operativo.
- Windows (JMP): C:/Utenti//AppData/Roaming/SAS/JMP//
- Windows (JMP Pro): C:/Utenti//AppData/Roaming/SAS/JMPPro//
- Macintosh: /Utenti//Library/Application Support/JMP//
I file in questa directory sono denominati utilizzando il modello:
Nome host _ data _ tempo .TXT
dove hostname è il nome della macchina che esegue JMP e data e ora sono la data e l'ora di avvio.
Le informazioni raccolte nei file di testo sono:
Testimonianza => 64 bit o 32 bit
Costruire informazioni => la data e l'ora della compilazione, se si tratta di una versione di rilascio o di una build di debug, e il nome del prodotto in una stringa delimitata da virgole
Data => la data e l'ora di avvio di JMP
Ospite => Mac o Windows
Nome host => il valore della variabile d'ambiente COMPUTERNAME (Windows) o HOSTNAME (Mac)
JMP Versione => la versione di JMP in fase di lancio
nome del prodotto => il nome del prodotto JMP in esecuzione, Pro o Standard
Nome utente => il valore della variabile d'ambiente USERNAME (Windows) o USER (Macintosh)
Il file di testo viene scritto utilizzando una sintassi che semplifica la lettura di questi valori in un array associativo in JMP per l'aggregazione dei registri.
I contenuti di addinload.jsl in Launch Logger sono:
info = Associative Array();
info["JMP Version"] = JMP Version();
info["Build Information"] = Build Information();
info["Date"] = Format( Today(), "m/d/y h:m:s" );
info["Host"] = If( Host is( Mac ),
"Mac",
"Windows"
);
info["Bitness"] = If( Host is( Bits32 ),
"32-bit",
"64-bit"
);
info["Username"] = If( Host is( Windows ),
Get Environment Variable( "USERNAME" ),
Get Environment Variable( "USER" )
);
info["Product Name"] = JMP Product Name();
info["Hostname"] = If( Host is( Windows ),
Get Environment Variable( "COMPUTERNAME" ),
Get Environment Variable( "HOSTNAME" )
);
dir = "$USER_APPDATA/JMPLaunchLogger/";
filename = dir || info["Hostname"] || "_" || Format( Today(), "ddMONYYYY" ) || "_" || Char( Hour( Today() ) ) || Char( Minute( Today() ) ) ||
Char( Second( Today() ) ) || ".txt";
If( !Directory Exists( dir ),
dir_create_success = Try( Create Directory( dir ), exception_msg )
);
Save Text File( filename, Char( info ) );
Launch Logger crea un piccolo file di testo contenente i dettagli del sistema ogni volta che viene avviato JMP.
Questi file di testo possono essere utilizzati per tenere traccia di quante volte JMP viene avviato su un determinato computer.
UtilitàRe: Launch Logger: traccia ogni volta che JMP viene avviato su una macchinaBene, se il componente aggiuntivo non è presente, non sorprende che non stia registrando nulla. 
Per quanto riguarda il modo in cui il componente aggiuntivo potrebbe scomparire, è qualcosa che probabilmente dovrai occuparti del tuo dipartimento IT per vedere se stanno ripulendo la directory del profilo in cui sono installati i componenti aggiuntivi o forse hai più directory del profilo .
Re: Launch Logger: traccia ogni volta che JMP viene avviato su una macchinaCiao Jeff,
Niente nella finestra del registro (Ctrl+Maiusc+L).
Meno della metà degli utenti sono registrati al momento in tutta l'azienda?
Ho notato che il componente aggiuntivo in cui avevo incorporato lo script è stranamente scomparso dal mio PC.
Al momento della reinstallazione, i miei lanci di JMP vengono nuovamente registrati.
Qualche idea su come un componente aggiuntivo possa scomparire?
- Filippo
Re: Launch Logger: traccia ogni volta che JMP viene avviato su una macchina@jpol , è strano.
Inizia osservando la finestra del registro per vedere se sono presenti messaggi immediatamente dopo l'avvio di JMP.
Re: Launch Logger: traccia ogni volta che JMP viene avviato su una macchinaCiao Jeff,
Qualcuno ha riferito che il logger di lancio registra progressivamente sempre meno lanci con il passare del tempo?
Ho controllato stamattina e ho visto che quando ho avviato JMP da solo non c'era alcun record (nessun file di testo memorizzato, come prima). Sembra che le mie attività non siano state registrate per un paio di settimane circa.
La mia ipotesi è che alcuni pacchetti di aggiornamento MS abbiano causato ciò, ma non posso esserne sicuro. Ho anche notato che alcuni utenti non vengono mai registrati.
Qualche suggerimento su dove posso iniziare a indagare?
Distinti saluti,
Filippo
Re: Launch Logger: traccia ogni volta che JMP viene avviato su una macchinaGrazie Jeff e Don,
Funziona molto bene e come amministratore locale posso vedere facilmente le informazioni sulla build e la versione di JMP utilizzate da ciascun utente.
Distinti saluti,
Filippo
Re: Launch Logger: traccia ogni volta che JMP viene avviato su una macchina@jpol ,
Devo ammettere che mi hai preso un po' corto. Ho pensato di essere intelligente memorizzando le informazioni di registro come un array associativo. Funziona bene come formato di archiviazione auto-documentante e consente di aggiungere altre informazioni ai registri in futuro e, presumibilmente, essere ancora in grado di analizzare file misti.
Tuttavia, la tua richiesta mi ha fatto capire che non è così semplice inserire un gruppo di array associativi in una tabella di dati come speravo.
Con apprezzamento a @DonMcCormack , ecco un codice che creerà una tabella di dati da una cartella di file di registro.
tableFromAAList = Function({inList},{Default Local},
tblRef = New Table("Data from List of AAs");
For(i=1,i<=N Items(inList),i++,
nextKeys = inList[i] << Get Keys;
tblRef << Add Row(1);
For(j=1,j<=N Items(nextKeys),j++,
nextVal = inList[i] << Get Value(nextKeys[j]);
Try(
Column(tblRef,nextKeys[j])[i] = nextVal;
,//ON ERROR
tblRef << New Column(nextKeys[j],Character);
Column(tblRef,nextKeys[j])[i] = nextVal;
);
)
);
tblRef << Delete Columns("Column 1");
);
logfiles = Files In Directory( "./Logs" );
logs = {};
For( i = 1, i <= N Items( logfiles ), i++,
Insert Into( logs, Parse( Load Text File( "./Logs/" || logfiles[i] ) ) )
);
tableFromAAList(logs);
JMP 14 può semplificare questa operazione.
Re: Launch Logger: traccia ogni volta che JMP viene avviato su una macchinaCiao Jeff,
Vorrei utilizzare il componente aggiuntivo Launch Logger per monitorare il numero di volte in cui JMP viene lanciato all'interno dell'azienda.
Sono riuscito a creare file di registro.
Sfortunatamente non ho familiarità con gli array associativi e quindi trovo piuttosto difficile estrarre e concatenare i file.
Potresti fornire un paio di suggerimenti?
Grazie,
Filippo
Re: Launch Logger: traccia ogni volta che JMP viene avviato su una macchina@ashley_prince , no questo conterà gli avvii da qualsiasi versione di JMP in cui è installato.
Re: Launch Logger: traccia ogni volta che JMP viene avviato su una macchinaCiao Jeff,
È fantastico - grazie per averlo condiviso! Puoi confermare che vengono conteggiati solo i lanci da installazioni di licenze annuali?
Grazie!