mpilman
1c6c73af6d
Fixed infinite recursion
2019-04-05 13:12:19 -07:00
mpilman
c6bc23791d
Fixed format error in microbench
2019-04-05 13:12:19 -07:00
mpilman
39ecbedd74
Fixed compilation errors on OS X & gcc8
2019-04-05 13:12:19 -07:00
mpilman
1c16f87a4e
Remove trace-calls to printable (in non-workloads)
2019-04-05 13:12:19 -07:00
mpilman
ea67b742c7
Implemented Traceable for printable types
2019-04-05 13:12:19 -07:00
mpilman
c9ee7f54e7
Add compound type to micro-benchmark
2019-04-05 13:12:19 -07:00
mpilman
8120a33bda
Fix `>`-direction when initializing TraceEvent
2019-04-05 13:12:19 -07:00
mpilman
32a3aea8bb
Make strings random in tracing micro-benchmark
2019-04-05 13:12:19 -07:00
mpilman
bb82f8560a
process all volatile ints correctly in traces
2019-04-05 13:12:19 -07:00
mpilman
9938a49c1e
make primitive test longer
2019-04-05 13:12:19 -07:00
mpilman
8af0f15a43
primitive performance test for TraceEvent
2019-04-05 13:12:19 -07:00
mpilman
02e3b634fb
Compile sqlite with NDEBUG so we can debug
2019-04-05 13:12:19 -07:00
mpilman
ae84f5424a
Fix potential segfault when init changes enabled
2019-04-05 13:12:19 -07:00
mpilman
c008e16c81
Defer formatting in traces to make them cheaper
...
This is the first part of making `TraceEvent` cheaper. The main idea is
to defer calls to any code that formats string. These are the main
changes:
- TraceEvent::detail now takes a c-string instead of std::string for
literals. This prevents unnecessary allocations if the trace is not
going to be printed in the first place (for example for SevDebug).
Before that `detail` expected a `std::string` as key, which mean that
any string literal would be copied on each call.
- Templates Traceable and SpecialTraceMetricType. These templates can be
specialized for any type that needs to be printed. The actual
formatting will be deferred to after the `enabled` check. This
provides two benefits: (1) if a TraceEvent is disabled, we don't pay
for the formatting and (2) TraceEvent can trace types that it doesn't
know about.
- TraceEvent::enabled will be set in the constructor if the Severity is
passed. This will make sure that `TraceEvent::init` is not called.
- `TraceEvent::detail` will be inlined. So for disabled TraceEvent
calls, a call to detail will only introduce a if-branch which is much
cheaper than a function call.
2019-04-05 13:12:19 -07:00
Jingyu Zhou
acf60c5e9a
Merge pull request #1414 from jzhou77/pprof
...
Add manually triggered heap profiling
2019-04-04 22:27:33 -07:00
Jingyu Zhou
5be592632b
Change trace event message
...
If heap profiler is not running, we can't take a snapshot of the profile.
2019-04-04 15:29:50 -07:00
Jingyu Zhou
f538df5e6c
Add TraceEvent if unable to invoke heap profiler
2019-04-04 15:26:41 -07:00
Alex Miller
8f49be480b
Update fdbserver/worker.actor.cpp
...
Co-Authored-By: jzhou77 <jingyuzhou@gmail.com>
2019-04-04 13:32:10 -07:00
Jingyu Zhou
eaaf58ee34
Refactor profiler into cpu and heap profilers
2019-04-03 20:54:30 -07:00
Alex Miller
433060ef95
Update fdbclient/ClientWorkerInterface.h
...
Co-Authored-By: jzhou77 <jingyuzhou@gmail.com>
2019-04-03 20:05:19 -07:00
Alex Miller
ee7822f032
Merge pull request #1412 from atn34/fix-sandbox-port
...
Fix port to match sandbox foundationdb.conf
2019-04-03 19:29:51 -07:00
Jingyu Zhou
3371cf22d4
Add manually triggered heap profiling
...
At client side:
fdb> profile
ERROR: Usage: profile <client|list|flow|heap>
fdb> profile heap 127.0.0.1:4500
On the server side:
$ HEAPPROFILE=/tmp/fdbserver bin/fdbserver -C ../test.cluster -p 127.0.0.1:4500
Starting tracking the heap
FDBD joined cluster.
Dumping heap profile to /tmp/fdbserver.0001.heap (1024 MB allocated cumulatively, 13 MB currently in use)
Dumping heap profile to /tmp/fdbserver.0002.heap (User triggered heap dump)
2019-04-03 16:00:54 -07:00
Alex Miller
ee571ac2d8
Merge pull request #1386 from mpilman/features/client-simulator
...
Implemented JavaWorkload
2019-04-03 14:46:30 -07:00
Andrew Noyes
638978d9bb
Fix comment
2019-04-03 13:52:00 -07:00
Andrew Noyes
021224c44d
Fix port to match sandbox foundationdb.conf
2019-04-03 13:49:44 -07:00
Markus Pilman
101a05ae77
Merge branch 'master' into features/client-simulator
2019-04-03 10:03:56 -08:00
Jingyu Zhou
fc59587b3c
Merge pull request #1393 from jzhou77/pprof
...
Gperftools Profiling fix.
2019-04-03 10:35:31 -07:00
Evan Tschannen
375955f0f4
Merge pull request #1409 from etschannen/master
...
Merge 6.1 into master (updated versions.target)
2019-04-02 22:38:28 -07:00
Evan Tschannen
44c3072629
updated versions.target and release notes
2019-04-02 22:36:55 -07:00
Evan Tschannen
39c595223b
Merge branch 'release-6.1'
2019-04-02 22:30:02 -07:00
Evan Tschannen
dcbfb02a87
Merge pull request #1408 from etschannen/post-release-cleanup-6.1.0
...
Post release cleanup 6.1.0
2019-04-02 22:27:23 -07:00
Evan Tschannen
4514043dab
update installer WIX GUID following release
2019-04-02 22:26:26 -07:00
Evan Tschannen
1963b93bf3
update versions target to 6.1.1
2019-04-02 22:26:26 -07:00
Jingyu Zhou
bb775eaf45
Only add compiler flags of gperftools for gcc
2019-04-02 19:58:21 -07:00
Evan Tschannen
f5b1015f70
Merge pull request #1407 from etschannen/prepare-release-6.1.0
...
update installer WIX GUID following release
2019-04-02 18:44:30 -07:00
Evan Tschannen
56356814f9
update installer WIX GUID following release
2019-04-02 18:41:52 -07:00
Evan Tschannen
e5606589bb
Merge pull request #1405 from etschannen/release-6.1
...
Update documentation and protocol version for release 6.1.0
2019-04-02 18:40:16 -07:00
Evan Tschannen
985e1de467
Update documentation and protocol version for release 6.1.0
2019-04-02 18:39:24 -07:00
Evan Tschannen
41de0191b3
Merge pull request #1382 from cdonati/python-pack-versionstamp
...
Fix Versionstamp encoding issue for Value objects
2019-04-02 18:17:18 -07:00
Evan Tschannen
30133a30e0
Merge pull request #1403 from etschannen/release-6.1
...
Ported a bug fix to the 6.0 log system, and updated documentation
2019-04-02 17:56:18 -07:00
Evan Tschannen
6223b0b94d
Merge pull request #1397 from etschannen/feature-maintenance-zone
...
Added the ability to mark a zoneId for maintenance
2019-04-02 17:55:34 -07:00
Jingyu Zhou
56a1128a9b
Enhance cmake's gperftools support
...
Add compiler flags and link flags for gperftools.
2019-04-02 17:34:29 -07:00
mpilman
30500d5a61
Added docs for building with JavaWorkload
2019-04-02 17:26:35 -07:00
mpilman
160949d071
Remove unnecessary function
2019-04-02 16:28:34 -07:00
mpilman
d38efac7f8
minor code cleanup
2019-04-02 16:23:36 -07:00
Evan Tschannen
31ed73d9f5
Ported the bug fix https://github.com/apple/foundationdb/pull/1379 to OldTLogServer_6_0
2019-04-02 15:27:37 -07:00
Evan Tschannen
4d6334eb90
removed a known limitation about force_recovery_with_data_loss
2019-04-02 15:23:55 -07:00
Evan Tschannen
6881a8fc69
Added more release notes for 6.1.0
2019-04-02 15:19:44 -07:00
Alvin Moore
b3450af8a7
Merge pull request #1338 from mpilman/features/stripped-binaries
...
Strip debug symbols with `make packages`
2019-04-02 15:03:37 -07:00
Evan Tschannen
1d4a6ab551
cleaned up status to keep the healthyZone read separated from relicaFutures
2019-04-02 14:46:56 -07:00