Skip to content

Commit 482b4eb

Browse files
committed
add artifacts config, sample command
1 parent 081fe85 commit 482b4eb

File tree

5 files changed

+115
-8
lines changed

5 files changed

+115
-8
lines changed

.idea/artifacts/graphnote_jar.xml

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmds/TopCpuUbuntu.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#! /bin/sh
2+
3+
SCRIPT=$(readlink -f "$0")
4+
SCRIPTPATH=$(dirname "$SCRIPT")
5+
/usr/bin/top -b -d 1 | $SCRIPTPATH/TopCpuUbuntuInternal.py
6+

cmds/TopCpuUbuntuInternal.py

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
#!/usr/bin/python
2+
3+
import subprocess
4+
import select
5+
import time
6+
import re
7+
import string
8+
import sys
9+
from datetime import datetime
10+
11+
# TITLE|title string
12+
print "TITLE|Show CPU Usage : top -b -d 1"
13+
# SETTINGS|Y Name|X Name|X Range|Y Min value|Min annotation
14+
print "SETTINGS|CPU|TIME|30|0.1|0.5"
15+
16+
def removeCtrlChar(line):
17+
return filter(string.printable.__contains__, line)
18+
19+
sSaveLine = ""
20+
sPrevTime = 0
21+
22+
def parseLine(line):
23+
global sSaveLine
24+
global sPrevTime
25+
line = re.sub(' +', ' ', line)
26+
line = line.strip()
27+
splitLine = line.split(' ')
28+
count = 0
29+
if "top" == splitLine[0] or "MiB" == splitLine[0] or "PID" == splitLine[0]:
30+
return
31+
32+
if "%Cpu(s):" == splitLine[0]:
33+
currTime = int(time.time())
34+
35+
if sPrevTime == currTime:
36+
return
37+
sPrevTime = currTime
38+
39+
sSaveLine = str(currTime)
40+
41+
total = 100.0 - float(splitLine[7])
42+
sSaveLine += "|Total#"
43+
sSaveLine += str(total)
44+
return
45+
46+
if sSaveLine != "" and len(splitLine) >= 12 and splitLine[8] != "0.0":
47+
saveItem = "|" + splitLine[0] + "-" + splitLine[11] + "#" + splitLine[8]
48+
sSaveLine += str(saveItem)
49+
50+
while True:
51+
line = sys.stdin.readline()
52+
if line == "":
53+
break
54+
if "Tasks: " in line:
55+
if sSaveLine != "":
56+
print sSaveLine
57+
sys.stdout.flush()
58+
sSaveLine = ""
59+
continue
60+
parseLine(line)
61+

src/META-INF/MANIFEST.MF

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Manifest-Version: 1.0
2+
Main-Class: com.blogspot.kotlinstudy.graphnote.Main
3+

src/com/blogspot/kotlinstudy/graphnote/GraphViewPanel.kt

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ class GraphViewPanel(infoTable: JTable) : JPanel() {
8686
mDomainAxis = mPlot.domainAxis
8787
mDomainAxis.isAutoRange = false
8888
mDomainAxis.setRange(mXStart, mXStart + mXRange)
89+
println("createChartXY - Domain range " + mXStart + ", " + (mXStart + mXRange))
8990

9091
val renderer = mPlot.getRenderer(0) as XYLineAndShapeRenderer
9192
renderer.useFillPaint = true
@@ -314,16 +315,24 @@ class GraphViewPanel(infoTable: JTable) : JPanel() {
314315
if (max > mXRange) {
315316
max -= (mXRange - mXRangeMargin).toInt()
316317
}
317-
mGraphSlider.maximum = max
318-
mGraphSlider.value = max
319318

320-
mXStart = range.upperBound - mXRange + mXRangeMargin
321-
if (mXStart < 0) {
322-
mXStart = 0.0
319+
mChangeHandler.active = false
320+
if (mGraphSlider.maximum == mGraphSlider.value) {
321+
mGraphSlider.maximum = max
322+
mGraphSlider.value = max
323+
mXStart = range.upperBound - mXRange + mXRangeMargin
324+
if (mXStart < 0) {
325+
mXStart = 0.0
326+
}
327+
}
328+
else {
329+
mGraphSlider.maximum = max
323330
}
331+
mChangeHandler.active = true
324332
}
325333

326334
mDomainAxis.setRange(mXStart, mXStart + mXRange)
335+
println("updateGraph - Domain range " + mXStart + ", " + (mXStart + mXRange))
327336

328337
var annotation: XYTextAnnotation? = null
329338
val font = Font("SansSerif", Font.PLAIN, 12)
@@ -385,10 +394,23 @@ class GraphViewPanel(infoTable: JTable) : JPanel() {
385394
}
386395

387396
internal inner class ChangeHandler() : ChangeListener {
397+
var active = true
388398
override fun stateChanged(e: ChangeEvent?) {
389-
val value: Int = mGraphSlider.getValue()
390-
mXStart = value.toDouble()
391-
mDomainAxis.setRange(mXStart, mXStart + mXRange)
399+
if (active) {
400+
println("TEST TEST " + (mGraphSlider.maximum - mGraphSlider.minimum) + ", " + mXRange)
401+
if ((mGraphSlider.maximum - mGraphSlider.minimum) > mXRange) {
402+
val value: Int = mGraphSlider.value
403+
mXStart = value.toDouble()
404+
mDomainAxis.setRange(mXStart, mXStart + mXRange)
405+
}
406+
else {
407+
mGraphSlider.value = mGraphSlider.maximum
408+
}
409+
println("stateChanged - Domain range " + mXStart + ", " + (mXStart + mXRange))
410+
}
411+
else {
412+
println("stateChanged - disabled")
413+
}
392414
}
393415
}
394416

0 commit comments

Comments
 (0)