Ich versuche, die Timing-Informationen aus einem Java-Job und Linux-Leistungsüberwachungstool perf
(speziell perf stat
) zu korrelieren.Konvertieren einer Datetime-Zeichenfolge in Millisekunden UNIX-Zeitstempel
die Timing-Informationen von Java verwendet erhaltenen String tstamp0 = String.valueOf(System.currentTimeMillis());
(Diese Wesentlichen Zeit in Millisekunden von Epoche ist) während perf
gibt die Zeit der Prozess begonnen hat, und die nachfolgende Aufnahme zeigen nur die Zeit verstrichen ist.
Was ich möchte, ist, konvertieren Sie die Timing-Informationen von perf stat
in Millisekunden erhalten, und hier ist, wo ich versage. Ich nähere mich diesem Problem in Python
.
Dieses Stück Code gibt mir die Zeitinformationen von perf
tailit = "head -n 1 " + dataset_path
process = subprocess.Popen(tailit, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = process.communicate()
date_time = out.split("\n")[0].split(" ")[4:]
date = date_time[3] + "-" + date_time[0] + "-" + date_time[1]
time = date_time[2]
#TIMESTAMP
INIT_TIME = datetime.datetime.strptime(date + ' ' + time, "%Y-%B-%d %H:%M:%S") + datetime.timedelta(seconds=0.01)
#df is pandas data frame
df['STAMPME'] = df['TCOUNT'].apply(lambda x: foobar(datetime.timedelta(seconds=x) + INIT_TIME))
hier foobar ist die eine Zeichenfolge in Millisekunden zeitzustempeln konvertieren folgenden, aber es macht keinen Sinn.
def foobar(INIT_TIME):
d = datetime.datetime.strptime(str(INIT_TIME), "%Y-%m-%d %H:%M:%S.%f").strftime('%s')
d_in_ms = int(d)*1000
return (d_in_ms)
Jede Hilfe wird geschätzt.
EDIT: Frühere Fragen adressierten nicht das Problem der Korrelation der java timestamp (currentTimeMillis())
mit der Datetime mit Millisekunden.
Zum Beispiel: mit der Funktion foobar
: mit Init_Zeitpunkt gesetzt, wie 2017-05-11 10:56:54.203
, ist der Rückgabewert 1494493014000
, wenn es sollte stattdessen 1494500214203
seine
Mögliche Duplikate von [Konvertieren von Python-Datetime in Epoche mit strftime] (http://StackOverflow.com/Questions/11743019/Convert-Python-Datetime-to-epoch-with-strftime) – luoluo
@luoluo Ich habe versucht, .. Aber hat nicht geholfen. – tandem
In welcher Weise hat nicht geholfen? Wie war es unzureichend gescheitert? –