Sorry if this is not the right place to ask this question. I saw this change and i was wondering if the requisite change to the DevTools has been made. If so, is there a changeset available to look at?
Thanks! On Wednesday, September 4, 2013 2:32:09 AM UTC-7, [email protected] wrote: > > Reviewers: loislo, Benedikt Meurer, Sven Panne, > > Description: > Allow configuring CPU profiler sampling interval using public API > > The only way to change it at the moment is using a command line flag. We > are > going to add a setting to Chrome DevTools which would allow chaning > default > interval and that requires proper v8 API. > > BUG=v8:2814 > > Please review this at https://codereview.chromium.org/23902004/ > > SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge > > Affected files: > M include/v8-profiler.h > M src/api.cc > M src/cpu-profiler.h > M src/cpu-profiler.cc > > > Index: include/v8-profiler.h > diff --git a/include/v8-profiler.h b/include/v8-profiler.h > index > 1932fb8cd767b16cbcb3faaf693283605be11381..65a2f9ab673596af3f6e1d12418e99b0a7570fb1 > > > 100644 > --- a/include/v8-profiler.h > +++ b/include/v8-profiler.h > @@ -141,13 +141,11 @@ class V8_EXPORT CpuProfile { > class V8_EXPORT CpuProfiler { > public: > /** > - * A note on security tokens usage. As scripts from different > - * origins can run inside a single V8 instance, it is possible to > - * have functions from different security contexts intermixed in a > - * single CPU profile. To avoid exposing function names belonging to > - * other contexts, filtering by security token is performed while > - * obtaining profiling results. > + * Changes default CPU profiler sampling interval to the specified > number > + * of microseconds. Default interval is 1000us. This method must be > called > + * when there are no profiles being recorded. > */ > + void SetSamplingInterval(int us); > > /** > * Returns the number of profiles collected (doesn't include > Index: src/api.cc > diff --git a/src/api.cc b/src/api.cc > index > 1a422fb73861a319e5d66a3c2603116767378f09..5901e450dfe8948fc1cc353b99cf96a7c97dc81c > > > 100644 > --- a/src/api.cc > +++ b/src/api.cc > @@ -53,6 +53,7 @@ > #endif > #include "parser.h" > #include "platform.h" > +#include "platform/time.h" > #include "profile-generator-inl.h" > #include "property-details.h" > #include "property.h" > @@ -7348,6 +7349,13 @@ int CpuProfiler::GetProfileCount() { > } > > > +void CpuProfiler::SetSamplingInterval(int us) { > + ASSERT(us >= 0); > + return reinterpret_cast<i::CpuProfiler*>(this)->set_sampling_interval( > + i::TimeDelta::FromMicroseconds(us)); > +} > + > + > const CpuProfile* CpuProfiler::GetCpuProfile(int index) { > return reinterpret_cast<const CpuProfile*>( > reinterpret_cast<i::CpuProfiler*>(this)->GetProfile(index)); > Index: src/cpu-profiler.cc > diff --git a/src/cpu-profiler.cc b/src/cpu-profiler.cc > index > 34bebb8eca1bfe8cd220240ff297fa972d8430f4..35fe7888646c0e37adcc5944947d3f15feaeabf4 > > > 100644 > --- a/src/cpu-profiler.cc > +++ b/src/cpu-profiler.cc > @@ -363,6 +363,8 @@ void CpuProfiler::SetterCallbackEvent(Name* name, > Address entry_point) { > > CpuProfiler::CpuProfiler(Isolate* isolate) > : isolate_(isolate), > + sampling_interval_(TimeDelta::FromMicroseconds( > + FLAG_cpu_profiler_sampling_interval)), > profiles_(new CpuProfilesCollection()), > next_profile_uid_(1), > generator_(NULL), > @@ -376,6 +378,8 @@ CpuProfiler::CpuProfiler(Isolate* isolate, > ProfileGenerator* test_generator, > ProfilerEventsProcessor* test_processor) > : isolate_(isolate), > + sampling_interval_(TimeDelta::FromMicroseconds( > + FLAG_cpu_profiler_sampling_interval)), > profiles_(test_profiles), > next_profile_uid_(1), > generator_(test_generator), > @@ -390,6 +394,12 @@ CpuProfiler::~CpuProfiler() { > } > > > +void CpuProfiler::set_sampling_interval(TimeDelta value) { > + ASSERT(!is_profiling_); > + sampling_interval_ = value; > +} > + > + > void CpuProfiler::ResetProfiles() { > delete profiles_; > profiles_ = new CpuProfilesCollection(); > @@ -418,8 +428,7 @@ void CpuProfiler::StartProcessorIfNotStarted() { > generator_ = new ProfileGenerator(profiles_); > Sampler* sampler = logger->sampler(); > processor_ = new ProfilerEventsProcessor( > - generator_, sampler, > - > TimeDelta::FromMicroseconds(FLAG_cpu_profiler_sampling_interval)); > + generator_, sampler, sampling_interval_); > is_profiling_ = true; > // Enumerate stuff we already have in the heap. > ASSERT(isolate_->heap()->HasBeenSetUp()); > Index: src/cpu-profiler.h > diff --git a/src/cpu-profiler.h b/src/cpu-profiler.h > index > a6eccffb6bc6f025ca73833e66cf61a0c23fb527..e36c3016bed163e1737d0650e48b36b048c44b10 > > > 100644 > --- a/src/cpu-profiler.h > +++ b/src/cpu-profiler.h > @@ -31,6 +31,7 @@ > #include "allocation.h" > #include "atomicops.h" > #include "circular-queue.h" > +#include "platform/time.h" > #include "sampler.h" > #include "unbound-queue.h" > > @@ -203,6 +204,7 @@ class CpuProfiler : public CodeEventListener { > > virtual ~CpuProfiler(); > > + void set_sampling_interval(TimeDelta value); > void StartProfiling(const char* title, bool record_samples = false); > void StartProfiling(String* title, bool record_samples); > CpuProfile* StopProfiling(const char* title); > @@ -260,6 +262,7 @@ class CpuProfiler : public CodeEventListener { > void LogBuiltins(); > > Isolate* isolate_; > + TimeDelta sampling_interval_; > CpuProfilesCollection* profiles_; > unsigned next_profile_uid_; > ProfileGenerator* generator_; > > > -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
