, tcmalloc is nice (and easy to use with ATS). I’m not sure why
> Valgrind isn’t working for you, best I can suggest is that you setup a dev
> environment with CentOS7 or Fedora Core 20, and run it there ? I generally
> find Valgrind easy to use, albeit, incredibly slow.
>
> Cheers,
>
> — Leif
>
>
--
Yunkai Zhang
Work at Taobao
On Thu, Apr 10, 2014 at 5:00 PM, Wolfgang Walter wrote:
> Am Donnerstag, 10. April 2014, 10:29:27 schrieb Yunkai Zhang:
> > Why we need to log these information?
>
> We here need them to distinquish how the client used the proxy. We have
> different ips (and ports) for explic
to the proxy (RFC931)
>
> -*/
>
> diff --git a/proxy/logging/LogAccessHttp.h b/proxy/logging/LogAccessHttp.h
> index 133cd94..980c5c7 100644
> --- a/proxy/logging/LogAccessHttp.h
> +++ b/proxy/logging/LogAccessHttp.h
> @@ -57,6 +57,8 @@ public:
>//
>virtual int marshal_client_host_ip(char *); // STR
>virtual int marshal_client_host_port(char *); // INT
> + virtual int marshal_client_server_ip(char *); // STR
> + virtual int marshal_client_server_port(char *); // INT
>virtual int marshal_client_auth_user_name(char *);// STR
>virtual int marshal_client_protocol_stack(char *);// INT
>virtual int marshal_client_req_text(char *); // STR
> --
> 1.9.1
>
>
--
Yunkai Zhang
Work at Taobao
@@ extern "C"
>
> /*
> --
> Initiate Http Connection */
> +
> + tsapi TSClientProtoStack TSClientProtoStackCreate(TSProtoType, ...);
> +
> /**
> Allows the plugin to initiate an http connection. The TSVConn the
> plugin receives as the result of successful operates identically to
>
--
Yunkai Zhang
Work at Taobao
On Thu, Apr 3, 2014 at 8:20 AM, James Peach wrote:
> On Mar 27, 2014, at 8:35 PM, Yunkai Zhang wrote:
>
> > On Fri, Mar 28, 2014 at 8:00 AM, James Peach wrote:
> >
> >> On Mar 13, 2014, at 2:56 PM, James Peach wrote:
> >>
> >>> On M
al case of it:
> >>
> >> TSVConn
> >> TSHttpConnect(sockaddr const* addr)
> >> {
> >> return TSHttpConnectWithProtoStack(addr, (1u << TS_PROTO_HTTP));
> >> }
> >>
> >> Signed-off-by: Yunkai Zhang
> >
> > This needs API r
Maybe rename "ClientProtoType" to "ClientProtocolStack" would be more
descriptive.
On Fri, Mar 7, 2014 at 10:16 AM, Yunkai Zhang wrote:
>
>
>
> On Fri, Mar 7, 2014 at 7:37 AM, Leif Hedstrom wrote:
>
>>
>> On Mar 6, 2014, at 7:25 PM, Alan M. Carr
col stack* can avoid unnecessary the
risk of combinatorial explosion.
>
> -- leif
>
>
--
Yunkai Zhang
Work at Taobao
On Thu, Mar 6, 2014 at 3:17 AM, James Peach wrote:
> On Mar 4, 2014, at 12:15 AM, Yunkai Zhang wrote:
>
> > I have opened a ticket(TS-2610<
> https://issues.apache.org/jira/browse/TS-2610>)
> > that add %(client_req_proto_type) field into LogFormat, so that we
>
This API was moved to a new separated
ticket(TS-2612<https://issues.apache.org/jira/browse/TS-2612>
).
On Tue, Mar 4, 2014 at 4:15 PM, Yunkai Zhang wrote:
> I have opened a ticket(TS-2610<https://issues.apache.org/jira/browse/TS-2610>)
> that add %(client_req_proto_type) fi
const* addr)
{
return TSHttpConnectWithProtoType(addr, TS_NET_PROTO_HTTP);
}
The old plugins needn't to change anything if they do not care %
field, so the new API wouldn't cause compatibility issue.
--
Yunkai Zhang
Work at Taobao
> >
> > * Hex escape sequence:
> > '\xab': a,b should be one of [0-9, a-f, A-F], and
> > (a*16 + b) should be greater than 0 and less than 255.
> >
> > Signed-off-by: Yunkai Zhang
>
> Nice! We should add these notes to
> doc/reference/config
I have discussed with Quehan, in fact, ts_lua can also work with LuaJit.
I think we can add some configruation for ts_lua, so that users can select
Lua or LuaJit according their business scenario.
On Mon, Jan 13, 2014 at 1:43 PM, Yunkai Zhang wrote:
> HI Quehan:
>
> I think
g this large with native Lua objects. Ideally, you would handle
> > 'control' data within Lua and 'real' data within TS, maybe, AT MOST 1/2 MB
> > of data per state for some transformation or advanced math or whatever.
> >
> > I'm sorry to say, but if there ever comes a time where you need to
> > allocate more than 2GB, or, heck, even 1GB, inside Lua itself, then
> > you're doing something really wrong. Lua should be doing the business
> > logic while TS does the heavy resource work, it should never be the
> > other way around.
> >
> > With regards,
> > Daniel.
>
>
--
Yunkai Zhang
Work at Taobao
free memory which is allocated by TSUrlStringGet
> > 3) add ts.client_request.get_pristine_url()
> >
> > Signed-off-by: Quehan
> > Signed-off-by: Yunkai Zhang
> >
> >
> > Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
>
similar stack traces.
>
> — Leif
>
>
>
--
Yunkai Zhang
Work at Taobao
efs/heads/master 938fa1ec2 -> ed8f6e9b0
> >
> >
> > Add a new field: '%', "client_host_port" to LogFormat
> >
> > Signed-off-by: Yunkai Zhang
> >
> >
> > Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
> > C
info
> no-installman subdir-objects 1.9.2])
> AC_CONFIG_HEADERS([lib/ts/ink_autoconf.h])
>
> # Configure with --disable-silent-rules to get verbose output. For more
> info, see
>
>
--
Yunkai Zhang
Work at Taobao
> jason.giedymin
> jesus
> jfclere
> jim
> jinwei
> jplevyak
> ming_zym
> mlibbey
> mnot
> mturk
> philsorber
> sjiang
> ushachar
> wanderingbort
> zwoop
>
> If you are not on this list, and want to be, I'll be happy to add you
> -- just emai
I use epoll_wait() to implement block behavior, just like timedwait().
> >
> > 3) nonblock eventfd can fix a potential problem: if receiver didn't
> > read() data immediately, senders might block in write().
> >
> > Signed-off-by: Yunkai Zhang
> >
>
在 2013年9月6日星期五,Leif Hedstrom 写道:
> On Sep 5, 2013, at 10:10 PM, Yunkai Zhang >
> wrote:
>
> >> proper implementation of TS-1882. It's as simple as that.
> >
> >
> > I have tried my best to implement conditional generating records.cong,
> but
> >
在 2013年9月6日星期五,Leif Hedstrom 写道:
> On Sep 5, 2013, at 8:39 PM, Yunkai Zhang >
> wrote:
>
> > 在 2013年9月5日星期四,Leif Hedstrom 写道:
> >
> >>
> >> On Sep 4, 2013, at 5:02 PM, zw...@apache.org
> >> wrote:
> >>
> >> I'm not sure
or.reclaim_factor FLOAT 0.30
># Allocator will reclaim memory only when it continuously satisfy the
> reclaim
> - # condition for max_overage times. This value is effective only when
> - # enable_reclaim is 1.
> - # NOTE: This option make no sense unless compiles TrafficServer
> - # with '--enable-reclaimable-freelist' option.
> + # condition for max_overage continuous checks.
> CONFIG proxy.config.allocator.max_overage INT 3
> + # For debugging, enable debug_filter, which is a bit-map with these
> fields:
> + # bit 0: reclaim memory in ink_freelist_new
> + # bit 1: allocate memory from partial-free Chunks(if exist) or OS
> +CONFIG proxy.config.allocator.debug_filter INT 0
>
>
>
> ##
> #
>
>
--
Yunkai Zhang
Work at Taobao
I'll go back to try to fix this issue later.
On Wed, Sep 4, 2013 at 11:15 AM, James Peach wrote:
> On Sep 2, 2013, at 8:02 PM, Yunkai Zhang wrote:
>
> > Oh, I only tested it on my REHL6.
> >
> > Does the latest patch: "TS-2172: automake subdir-objects requir
os/asf/trafficserver/commit/471655ca
> >> Tree:
> http://git-wip-us.apache.org/repos/asf/trafficserver/tree/471655ca
> >> Diff:
> http://git-wip-us.apache.org/repos/asf/trafficserver/diff/471655ca
> >>
> >> Branch: refs/heads
t;
> > 1) Use relative timeout in EventNotify::timedwait() function.
> > 2) Remove unused m_name variable.
> > 3) Use the correct marco HAVE_EVENTFD instead of TS_HAS_EVENTFD which
> > is outdated.
>
> Good catch!
>
> >
> > Signed-off-by: Yunkai Zhang
tive timeout(same reason as m_name),
but for keeping minimal changes, I gave up:(.
I 'll give a patch to: a) make abstime to relative time. b) remove m_name.
> >
> > == NOTE ==
> > pthread_cond_signal/wait is also used by AIO module, but we can't
> > simply replace it with eventf
one flush thread, we can improve it to
> > "one flush thread per file/disk" in the future.
> >
> > == How to configure ==
> > The number of preproc threads is 1 by default.
> >
> > Please modify "proxy.config.log.collation_preproc_threads&qu
ppy on this as of lately, and it puts an unreasonable
> amount of work and responsibility on the release managers.
>
> Thanks,
>
> -- Leif
>
>
--
Yunkai Zhang
Work at Taobao
On Sat, Aug 3, 2013 at 1:12 AM, James Peach wrote:
> On Aug 2, 2013, at 9:59 AM, Yunkai Zhang wrote:
>
> > Hi james,
> >
> > Why I use TS-1006 ticket is that I hope users can easy to find all
> > reclaimable-freelist patch by "TS-1006" key word when they
; 1) Adjust "enable_reclaim" to "1" as default in
> > records.config.default.in file.
> >
> > 2) Adjust "max_overage" to "3" in code, so that it keeps the same value
> > with records.config.default.in. And most important, this value s
On Fri, Aug 2, 2013 at 11:00 PM, Yunkai Zhang wrote:
>
>
>
> On Fri, Aug 2, 2013 at 4:33 PM, Leif Hedstrom wrote:
>
>>
>> On Aug 2, 2013, at 9:49 AM, Yunkai Zhang wrote:
>>
>> So many users forgot to set "proxy.config.allocator.enable_reclaim&qu
On Fri, Aug 2, 2013 at 4:33 PM, Leif Hedstrom wrote:
>
> On Aug 2, 2013, at 9:49 AM, Yunkai Zhang wrote:
>
> So many users forgot to set "proxy.config.allocator.enable_reclaim" to 1
> after they compiled ATS with --enable-reclaimable-freelist option.
>
> They w
在 2013年8月2日星期五,Leif Hedstrom 写道:
> On Aug 2, 2013, at 1:07 PM, Yunkai Zhang >
> wrote:
>
> > On Fri, Aug 2, 2013 at 6:15 PM, Leif Hedstrom >
> wrote:
> >
> >
> >
> > The reason of why reclaming memory is need is that:
> >
> > In the free
The blocks which not hot, but have been allocated at *peek* level, is the
root cause of memory wast.
That is why reclaiming memory is necessary for ATS, and why
reclaimable-freelist patch can take effect.
>
> All my $.01 of course.
>
> -- Leif
>
>
--
Yunkai Zhang
Work at Taobao
On Fri, Aug 2, 2013 at 4:33 PM, Leif Hedstrom wrote:
>
> On Aug 2, 2013, at 9:49 AM, Yunkai Zhang wrote:
>
> So many users forgot to set "proxy.config.allocator.enable_reclaim" to 1
> after they compiled ATS with --enable-reclaimable-freelist option.
>
> They w
; 2. Are there configurations that are in records.config, that you feel
> are
> >> so esoteric that they don't deserve to be in the default config file?
> >> 3. Are there values that you always change, and feel we ought to modify
> the
> >> defaults for?
> >>
> >>
> >> Please respond to this email asap, so that we can get any such changes
> in to the records.config.default.in before v3.3.5. 1) and 2) are fairly
> straight forward to justify, 3) would have to be done with care (since it
> breaks old behavior).
> >>
> >> Cheers,
> >>
> >> -- Leif
> >>
> >>
> >>
> >>
> >> --
> >> Mark Harrison
> >> Lead Site Reliability Engineer
> >> OmniTI
> >
>
>
--
Yunkai Zhang
Work at Taobao
I have submitted a path:
https://issues.apache.org/jira/browse/TS-1938
On Wed, Jun 5, 2013 at 10:56 AM, Yunkai Zhang wrote:
> On Wed, Jun 5, 2013 at 10:44 AM, John Plevyak wrote:
>
>> pthread_self() on x86 accesses a register on CPU, so it is quite fast
>> (i.e.
>>
On Wed, Jun 5, 2013 at 10:44 AM, John Plevyak wrote:
> pthread_self() on x86 accesses a register on CPU, so it is quite fast (i.e.
> no syscall).
>
Yes, Let's give a patch to drop this wrapper.
>
> john
>
>
> On Thu, May 23, 2013 at 11:22 PM, Yunkai Zhang
Oh, I read the implementation of pthread_self() in glibc just now, It's
simple then I guessed,
It seems an overkill optimization. I think we should drop this wrapper.
On Fri, May 24, 2013 at 2:14 PM, Yunkai Zhang wrote:
>
>
>
> On Fri, May 24, 2013 at 1:41 AM, James Peac
t; return tid?tid:(tid = pthread_self());
> }
>
> Why does this need to cache the thread ID in thread local storage?
>
Getting thread id is a very frequent operation in reclaimabe-freelist, but
pthread_selft() isn't a inline function, I wanted to cache it so that we
can redu
#x27;t too much cost. it
> just implemented with some special register, i.e. GS/FS.
>
> So, what's the reason?
>
>
>
> Thanks again,
>
> Xin
--
Yunkai Zhang
Work at Taobao
On Sun, Apr 14, 2013 at 11:46 PM, James Peach wrote:
> On Apr 14, 2013, at 6:21 AM, Yunkai Zhang wrote:
>
> > Hi James:
> >
> > Don't forget to commit your this patch:D
>
> It's in the outbound patch queue ... just taking longer than I'd like to
>
Hi James:
Don't forget to commit your this patch:D
On Wed, Apr 10, 2013 at 1:10 PM, James Peach wrote:
> On 09/04/2013, at 7:06 PM, Yunkai Zhang wrote:
>
> > And I think, we are talking to TS-1805:)
>
> yes we are ;)
>
> >
> >
> > On Wed, Ap
And I think, we are talking to TS-1805:)
On Wed, Apr 10, 2013 at 9:59 AM, Yunkai Zhang wrote:
> Hi James:
>
> The attached patch is good for me, thanks for your review.
>
>
> On Wed, Apr 10, 2013 at 4:58 AM, James Peach wrote:
>
>> Hi Yunkai,
>>
>>
gt; possibility that the result_type would not be set correctly. Do you think
> that the attached patch is correct?
>
>
>
>
> J
>
>
>
>
--
Yunkai Zhang
Work at Taobao
t;
> Tel: +43 (0) 664 886 22 883
> Mail: i.ga...@brainsware.org
> URL: http://brainsware.org/
> GPG: 6880 4155 74BD FD7C B515 2EA5 4B1D 9E08 A097 C9AE
>
--
Yunkai Zhang
Work at Taobao
This means
> jtest,
> > http_load and tstop. If anyone has any opinions or advice, I'm all ears
> ...
> >
> >
> There is a JIRA open for tstop and also I have a tool to commit for this as
> well.
>
>
> > J
>
--
Yunkai Zhang
Work at Taobao
On Tue, Feb 5, 2013 at 2:11 AM, James Peach wrote:
> On Feb 4, 2013, at 9:59 AM, Yunkai Zhang wrote:
>
> > I have writen a article in google doc to explain how to use reclaimable
> > freelist:
> >
> >
> https://docs.google.com/document/d/1zHv-c3ZgYJnYjX6Bt1F
在 2013年2月5日星期二,Igor Galić 写道:
> On Tuesday, February 05, 2013 01:59:29 AM Yunkai Zhang wrote:
> > I have writen a article in google doc to explain how to use reclaimable
> > freelist:
> >
> >
> https://docs.google.com/document/d/1zHv-c3ZgYJnYjX6Bt1FsBTdBswIK7YFCN3v
On Tue, Feb 5, 2013 at 2:15 AM, Yunkai Zhang wrote:
>
>
>
> On Tue, Feb 5, 2013 at 2:11 AM, James Peach wrote:
>
>> On Feb 4, 2013, at 9:59 AM, Yunkai Zhang wrote:
>>
>> > I have writen a article in google doc to explain how to use reclaimab
On Tue, Feb 5, 2013 at 2:11 AM, James Peach wrote:
> On Feb 4, 2013, at 9:59 AM, Yunkai Zhang wrote:
>
> > I have writen a article in google doc to explain how to use reclaimable
> > freelist:
> >
> >
> https://docs.google.com/document/d/1zHv-c3ZgYJnYjX6Bt1F
On Mon, Feb 4, 2013 at 1:06 AM, Yunkai Zhang wrote:
>
>
>
> On Sun, Feb 3, 2013 at 8:36 PM, Igor Galić wrote:
>
>> On Sunday, February 03, 2013 10:45:23 AM build...@apache.org wrote:
>> > The Buildbot has detected a new failure on builder tserver-trunk-debug
>&g
, z...@apache.org wrote:
>
> > TS-1006: Add an '--enable-reclaimable-freelist' option
> >
> > Signed-off-by: Yunkai Zhang
> > Signed-off-by: Zhao Yongming
> >
> >
> > Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
>
On Mon, Feb 4, 2013 at 4:07 AM, James Peach wrote:
> On 03/02/2013, at 9:00 AM, Yunkai Zhang wrote:
>
> > On Sun, Feb 3, 2013 at 8:15 PM, Igor Galić
> wrote:
> >
> >> On Sunday, February 03, 2013 10:38:37 AM z...@apache.org wrote:
> >>> TS-100
>
> it dies on startup :\
>
I'll try to fix it tomorrow.
>
> > Buildbot URL: http://ci.apache.org/
> >
> > Buildslave for this Build: ceres_ubuntu
> >
> > Build Reason: scheduler
> > Build Source Stamp: [branch master]
> afe372a6f016202277d25d9e916ba36
p;total_mem_in_byte, f->chunk_byte_size);
}
I'll give new patch once I have other platforms to test and improve it.
>
> > I need this wrapper in reclaimable freelist, as ink_atomic_increment()
> > can't work correctly in some situation by unknown reason.
> >
>
ck before acquiring it is a bad behavior.
Although there is a reference count, but if the count > 0, the releasing
operation will decrease it unsafely.
> -- i
>
--
Yunkai Zhang
Work at Taobao
On Wed, Jan 30, 2013 at 1:47 PM, James Peach wrote:
> On 25/01/2013, at 3:55 AM, Yunkai Zhang wrote:
>
> > Hi folks:
> >
> > What is the purpose of AlarmListTable in overviewRecord? Does it
> outdate?
> >
> > It seems that, in the following steps:
> &
removed by checkAlarms()/addSelfRecord()
AlarmListTable does nothing at all.
If it's obsolete, I'm going to clean it.
--
Yunkai Zhang
Work at Taobao
On Sun, Dec 30, 2012 at 6:41 PM, Yunkai Zhang wrote:
>
>
>
> On Sun, Dec 30, 2012 at 12:50 PM, Yunkai Zhang wrote:
>
>>
>>
>>
>> On Sun, Dec 30, 2012 at 12:17 PM, John Plevyak wrote:
>>
>>> Lol, If they have optimized it by removing the
On Sun, Dec 30, 2012 at 12:50 PM, Yunkai Zhang wrote:
>
>
>
> On Sun, Dec 30, 2012 at 12:17 PM, John Plevyak wrote:
>
>> Lol, If they have optimized it by removing the LRU nature, it was perhaps
>> overzealous, or perhaps your workload is such that it fits within the
d that patch to here, and hope you can give some advise.
>
> cheers,
> john
>
> On Sat, Dec 29, 2012 at 7:59 PM, Yunkai Zhang wrote:
>
> > On Sun, Dec 30, 2012 at 1:57 AM, John Plevyak wrote:
> >
> > > This code in ::put() implements the LRU, and as you ca
ue();
> if (ee)
> remove(ee);
> else
> break;
> }
>
It seems that the code I read had been changed on this section you showed
above, as my coworker have optimized it a bit. But thanks for your
explanation all the same.
>
>
>
> On Sat, Dec 29, 2012
it to here now, I'm going
to trim it, I need some time to understand it, and maybe do some
optimization or clear work for it before we send it to here.
>
> -- Leif
>
>
--
Yunkai Zhang
Work at Taobao
accepted, maybe we can put our interim solution
>> later.
>>
>> thanks
>> --
>> Zhao Yongming
>> aka: zym @ apache.org, yonghao @ taobao.com
>>
>
--
Yunkai Zhang
Work at Taobao
66 matches
Mail list logo