Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Y
YCSB
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Adnan Ahmad
YCSB
Commits
d3d495fd
Commit
d3d495fd
authored
10 years ago
by
nitsanw
Committed by
Sean Busbey
9 years ago
Browse files
Options
Downloads
Patches
Plain Diff
[client] - Correct status reporting sliding timing
- Make status interval configurable
parent
b634f0cd
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
core/src/main/java/com/yahoo/ycsb/Client.java
+14
-17
14 additions, 17 deletions
core/src/main/java/com/yahoo/ycsb/Client.java
core/src/main/java/com/yahoo/ycsb/measurements/Measurements.java
+1
-1
1 addition, 1 deletion
...c/main/java/com/yahoo/ycsb/measurements/Measurements.java
with
15 additions
and
18 deletions
core/src/main/java/com/yahoo/ycsb/Client.java
+
14
−
17
View file @
d3d495fd
...
...
@@ -28,6 +28,7 @@ import java.util.Date;
import
java.util.Enumeration
;
import
java.util.Properties
;
import
java.util.Vector
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.locks.LockSupport
;
import
com.yahoo.ycsb.measurements.Measurements
;
...
...
@@ -51,13 +52,14 @@ class StatusThread extends Thread
/**
* The interval for reporting status.
*/
public
static
final
long
sleeptime
=
10000
;
long
_
sleeptime
Ns
;
public
StatusThread
(
Vector
<
Thread
>
threads
,
String
label
,
boolean
standardstatus
)
public
StatusThread
(
Vector
<
Thread
>
threads
,
String
label
,
boolean
standardstatus
,
int
statusIntervalSeconds
)
{
_threads
=
threads
;
_label
=
label
;
_standardstatus
=
standardstatus
;
_sleeptimeNs
=
TimeUnit
.
SECONDS
.
toNanos
(
statusIntervalSeconds
);
}
/**
...
...
@@ -65,8 +67,9 @@ class StatusThread extends Thread
*/
public
void
run
()
{
long
st
=
System
.
currentTimeMillis
();
final
long
st
=
System
.
currentTimeMillis
();
final
long
startTimeNanos
=
System
.
nanoTime
();
long
deadline
=
startTimeNanos
+
_sleeptimeNs
;
long
lasten
=
st
;
long
lasttotalops
=
0
;
...
...
@@ -119,15 +122,8 @@ class StatusThread extends Thread
System
.
out
.
println
(
msg
);
}
try
{
sleep
(
sleeptime
);
}
catch
(
InterruptedException
e
)
{
//do nothing
}
ClientThread
.
sleepUntil
(
deadline
);
deadline
+=
_sleeptimeNs
;
}
while
(!
alldone
);
}
...
...
@@ -282,7 +278,7 @@ class ClientThread extends Thread
}
}
private
void
sleepUntil
(
long
deadline
)
{
static
void
sleepUntil
(
long
deadline
)
{
long
now
=
System
.
nanoTime
();
while
((
now
=
System
.
nanoTime
())
<
deadline
)
{
LockSupport
.
parkNanos
(
deadline
-
now
);
...
...
@@ -754,11 +750,12 @@ public class Client
if
(
status
)
{
boolean
standardstatus
=
false
;
if
(
props
.
getProperty
(
Measurements
.
MEASUREMENT_TYPE_PROPERTY
,
""
).
compareTo
(
"timeseries"
)==
0
)
if
(
props
.
getProperty
(
Measurements
.
MEASUREMENT_TYPE_PROPERTY
,
""
).
compareTo
(
"timeseries"
)==
0
)
{
standardstatus
=
true
;
}
statusthread
=
new
StatusThread
(
threads
,
label
,
standardstatus
);
}
int
statusIntervalSeconds
=
Integer
.
parseInt
(
props
.
getProperty
(
"status.interval"
,
"10"
));
statusthread
=
new
StatusThread
(
threads
,
label
,
standardstatus
,
statusIntervalSeconds
);
statusthread
.
start
();
}
...
...
This diff is collapsed.
Click to expand it.
core/src/main/java/com/yahoo/ycsb/measurements/Measurements.java
+
1
−
1
View file @
d3d495fd
...
...
@@ -34,7 +34,7 @@ public class Measurements
public
static
final
String
MEASUREMENT_TYPE_PROPERTY
=
"measurementtype"
;
private
static
final
String
MEASUREMENT_TYPE_PROPERTY_DEFAULT
=
"histogram"
;
p
rivate
static
final
String
MEASUREMENT_INTERVAL
=
"measurement.interval"
;
p
ublic
static
final
String
MEASUREMENT_INTERVAL
=
"measurement.interval"
;
private
static
final
String
MEASUREMENT_INTERVAL_DEFAULT
=
"op"
;
static
Measurements
singleton
=
null
;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment