it was r158180 with patch https://codereview.chromium.org/23690005
Regards, Tim. On Sun, Oct 20, 2013 at 5:17 AM, <[email protected]> wrote: > 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]: >> >> 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/<https://codereview.chromium.org/23902004/> >> >> SVN Base: >> https://v8.googlecode.com/svn/**branches/bleeding_edge<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 >> 1932fb8cd767b16cbcb3faaf693283**605be11381..** >> 65a2f9ab673596af3f6e1d12418e99**b0a7570fb1 >> 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 >> 1a422fb73861a319e5d66a3c260311**6767378f09..** >> 5901e450dfe8948fc1cc353b99cf96**a7c97dc81c >> 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 >> 34bebb8eca1bfe8cd220240ff297fa**972d8430f4..** >> 35fe7888646c0e37adcc5944947d3f**15feaeabf4 >> 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 >> a6eccffb6bc6f025ca73833e66cf61**a0c23fb527..** >> e36c3016bed163e1737d0650e48b36**b048c44b10 >> 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.
