These are chat archives for exceptionless/Discuss

18th
Mar 2016
Jamie Clarke
@jamie94bc
Mar 18 2016 09:35
Requiring https in web api
surely that would be better done as a message handler - since they occur in the pipeline before attributes?
unless you have endpoints which don't require https of course, but in exceptionless' case the auth message handler will run before the ssl attribute?
Eric J. Smith
@ejsmith
Mar 18 2016 12:53
I think there are some endpoints that allow http no?
Jamie Clarke
@jamie94bc
Mar 18 2016 13:35
good question - RequireHttpsExceptLocal is applied to the base controller (ExceptionlessApicontroller)
but not as a global filter so i'd assume so
Eric J. Smith
@ejsmith
Mar 18 2016 13:40
Any particular reason you think it would be better as a message handler?
Guess it would be less work?
Jamie Clarke
@jamie94bc
Mar 18 2016 13:54
yeah - just moved it in my own project (from BeginRequest handler, bleugh)
I don't think it's a massive issue though - how many authenticated requests start as http and get redirected? I'd imagine very few.
Eric J. Smith
@ejsmith
Mar 18 2016 13:55
Sounds good to me if you want to change it.
Blake Niemyjski
@niemyjski
Mar 18 2016 14:31
lol
@ejsmith you added a note instead of a reply late last night
@john-roland We hang out in here :D
Jamie Clarke
@jamie94bc
Mar 18 2016 14:35
have you guys ever had an issue with Azure websites randomly being shutdown? - no CPU spike, no memory usage, no huge number of 500 errors, no pre-crash exceptions :confused:
Eric J. Smith
@ejsmith
Mar 18 2016 14:36
We have had some various Azure Website issues in the past, but they seem to have gotten better.
Blake Niemyjski
@niemyjski
Mar 18 2016 14:36
not really that I can think of
Jamie Clarke
@jamie94bc
Mar 18 2016 14:37
it's odd - code nearly identical to Azure cloud service we were running with no issues
Eric J. Smith
@ejsmith
Mar 18 2016 14:39
weird
do you have the always on setting?
do they come back up?
we always see really slow startup times after we deploy or if the app goes to sleep.
we have the always on setting on, but it doesn’t seem to matter.
we have to setup a pinger to keep the app alive.
Jamie Clarke
@jamie94bc
Mar 18 2016 14:40
yeah we do, often when it brings itself back up it kills itself again before bringing back online a second time
Eric J. Smith
@ejsmith
Mar 18 2016 14:40
weird
but then eventually its good for a while?
Jamie Clarke
@jamie94bc
Mar 18 2016 14:41
we always have requests so it's not going to sleep
Blake Niemyjski
@niemyjski
Mar 18 2016 14:41
weird
anything in the logs
you can use that streaming log service
might give some insight. could always contact there support too
Jamie Clarke
@jamie94bc
Mar 18 2016 14:41
yeah - it's not consistent or traffic related
Blake Niemyjski
@niemyjski
Mar 18 2016 14:41
I’ve gotten lots of good results from that :D
and if they fail just cc scottgu and grab some popcorn
I remember the nightmare when we first moved to azure as a test
Jamie Clarke
@jamie94bc
Mar 18 2016 14:42
support hasn't been very helpful - i wanted the event logs from the machine, all i got was a chart of CPU usage showing spikes when the app restarted
and no response since
Blake Niemyjski
@niemyjski
Mar 18 2016 14:42
we couldn’t even ping microsoft.com from a vm.. I think it had to do with load balancer and a ton of other issues like what you were running into :(
have you looked at scm?
Jamie Clarke
@jamie94bc
Mar 18 2016 14:43
yeah!
Blake Niemyjski
@niemyjski
Mar 18 2016 14:43
if you can’t get anywhere. I’d forward the email on to scott gu and ask for help
Jamie Clarke
@jamie94bc
Mar 18 2016 14:43
he must love that
Blake Niemyjski
@niemyjski
Mar 18 2016 14:43
tell him all that you’ve tried and he’ll get someone from the actual team to help
well, things get taken care of and hes a great guy
it’s not like your going to him first but as a last resort
Jamie Clarke
@jamie94bc
Mar 18 2016 14:45
something weird is clearly going on since there's no requests/cpu time showing in the portal anymore
although that may have coincided with enabling asyncmode in newrelic
Eric J. Smith
@ejsmith
Mar 18 2016 14:46
that is how @niemyjski rolls. Troll straight to the top!
I had some problems with newrelic
Jamie Clarke
@jamie94bc
Mar 18 2016 14:47
hmmm actually it's not even showing cpu usage on my app service plan
must be an azure issue
Eric J. Smith
@ejsmith
Mar 18 2016 14:48
more logging and try to isolate by disabling things.
sucks that it was working fine running as a vm
Blake Niemyjski
@niemyjski
Mar 18 2016 14:48
this is where I pray that .net core will help out
making things run consistent in more places
Jamie Clarke
@jamie94bc
Mar 18 2016 14:50
we can dream
Blake Niemyjski
@niemyjski
Mar 18 2016 14:51
I’d seriously hit him up. sounds like you’ve exhausted some time and tried reaching out to support with no help
Eric J. Smith
@ejsmith
Mar 18 2016 14:52
well the fact that it is much more componetized and composable means that there will be less moving parts, faster startup time, much better ability to log and diagnose startup issues...
Blake Niemyjski
@niemyjski
Mar 18 2016 14:56
yeah what he said :D
Jamie Clarke
@jamie94bc
Mar 18 2016 14:56
yeah - i've added request logging, if that doesn't help I will!
hows dotnet core exceptionless migration going?
Blake Niemyjski
@niemyjski
Mar 18 2016 14:58
@sharathsatish has been working on it, his power adaptor died so he might work on it this weekend.
I need to finish up this query processing and then take a look at some of the pr's
probably do some more testing on deduping stuff
Sharath Satish
@sharathsatish
Mar 18 2016 15:00
Ya gonna make progress on it this weekend. My new adaptor has come in
Blake Niemyjski
@niemyjski
Mar 18 2016 15:09
be nice to be on that :)
one step closer to the dream of running on linux
the day I don’t have to fire up a windows vm to work on exceptionless server
is a big win
I hear a cpu fan most of my day :(
Blake Niemyjski
@niemyjski
Mar 18 2016 15:18
exceptionless/Exceptionless.UI#85
exceptionless/Exceptionless#202
Blake Niemyjski
@niemyjski
Mar 18 2016 15:31
bit worried about thinking about auto expanding queries
what if I dont’ care if it’s hidden or fixed
and now I just expanded them
almost think maybe the changes should pruly on the client side..
Blake Niemyjski
@niemyjski
Mar 18 2016 16:52
What are you all doing this weekend
anything fun?
I think I’m going to do some cooking / working out and fixing some stuff around the house / some coding
the lady wants to watch march madness but I don’t think that will be as fun. Thinking about playing with the rx extensions and .net core
Blake Niemyjski
@niemyjski
Mar 18 2016 17:08
woot
/\bhidden:/i
:D
learned that you can do \b in a regex to ensure that it matches a word boundary
hidden:true
hiddenValue:blah
someHidden:blah
only the first is matched :)
Eric J. Smith
@ejsmith
Mar 18 2016 17:11
cool
so getting close, eh?
Blake Niemyjski
@niemyjski
Mar 18 2016 17:11
yeah
kinda sucks that I can’t be smarter about brackets
    var filter = filters.join(' ');
    var hasFixed = filter.search(/\bfixed:/i) !== -1;
    var hasHidden = filter.search(/\bhidden:/i) !== -1;
    if (!hasFixed && !hasHidden) {
      if (filter.length > 0) {
        filter = '(' + filter + ')';
      }

      if (!hasFixed) {
        filter += ' fixed:false';
      }

      if (!hasHidden) {
        filter += ' hidden:false';
      }
    }

    return filter;
now you get (type:error) fixed:false hidden:false
Eric J. Smith
@ejsmith
Mar 18 2016 17:15
it’s fine, nobody sees that except the API
Blake Niemyjski
@niemyjski
Mar 18 2016 17:15
yeah I knwo
hehe
but I’m picky
Eric J. Smith
@ejsmith
Mar 18 2016 17:16
the filter is AND by default so I guess you don’t need to add AND to it.
Blake Niemyjski
@niemyjski
Mar 18 2016 17:17
haha, wonder what this guy is thinking right now :) is on the site and I’m always pointing aginst prod for this local dev instance of the ui.. and I notice he got a stats error..
sent a message
Blake Niemyjski
@niemyjski
Mar 18 2016 17:28
I think I have a new addiction @ejsmith … Every friday I keep a close lookout for the weekly javascript news email lol
Eric J. Smith
@ejsmith
Mar 18 2016 17:28
Yeah, I like that one too.
Blake Niemyjski
@niemyjski
Mar 18 2016 17:28
wish someone would create one for .net
Blake Niemyjski
@niemyjski
Mar 18 2016 17:41
@ejsmith can you push those uncommitted search bar styling changes
lets get on that!!
Sander Rijken
@srijken
Mar 18 2016 18:31
that would be an awesome channel to be on :D
Also saw this one coming along: https://github.com/blog/2123-more-code-review-tools
making changes to deduping.. for real this time
there’s also few bugs I found when using similar constructs in other code.. however I doubt they cause problems here. typeof(someclass).GetHashCode() isn’t stable across application restarts
Blake Niemyjski
@niemyjski
Mar 18 2016 18:40
hmm
nice finds
pretty soon you are going to be a guru of hashcodes
Sander Rijken
@srijken
Mar 18 2016 18:40
:(
Blake Niemyjski
@niemyjski
Mar 18 2016 18:41
should write a blog post on the pitfalls of hashcodes in .net
Sander Rijken
@srijken
Mar 18 2016 18:41
the issue template things they talk about sound nice
Blake Niemyjski
@niemyjski
Mar 18 2016 18:41
yeah
wonder how many people actually use them tho
Sander Rijken
@srijken
Mar 18 2016 18:41
do you already? :)
Blake Niemyjski
@niemyjski
Mar 18 2016 18:41
no I usually delete all the content and write my own :D
Sander Rijken
@srijken
Mar 18 2016 18:42
I mean, did you put these things in the exceptionless repositories?
Blake Niemyjski
@niemyjski
Mar 18 2016 18:42
nope
Sander Rijken
@srijken
Mar 18 2016 18:42
well the bug reports arent really low quality I think
any chance you could help with the big fat issues and perf testing and stuff like that?
Blake Niemyjski
@niemyjski
Mar 18 2016 18:51
yeah
I can help with that
Sander Rijken
@srijken
Mar 18 2016 18:52
do you remember the library that could be used to perf test?
Blake Niemyjski
@niemyjski
Mar 18 2016 18:52
benchmark.net
Sander Rijken
@srijken
Mar 18 2016 18:54
uh?
Sander Rijken
@srijken
Mar 18 2016 18:55
right I just found it
hmm probably want to make a runner outside of the test suite? or have an test mark as explicit? or..?
Blake Niemyjski
@niemyjski
Mar 18 2016 18:57
I’m not sure
I never used it
we can always put an ignore attribute on it
been wanting to look at it
Blake Niemyjski
@niemyjski
Mar 18 2016 19:09
So I just took a look into this stats error
he selected a time range from early 2015
not sure how, but he did
and then the stats didn’t return any aggregations because the index didn’t exist
guess I need to check for that use case
and just return empty stats results
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 10,
"successful": 10,
"failed": 0
},
"hits": {
"total": 0,
"max_score": 0,
"hits": []
},
"aggregations": {
"distinct_stack_id": {
"value": 0
},
"first_occurrence": {
"value": null
},
"last_occurrence": {
"value": null
},
"term_is_first_occurrence": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": []
},
"timelime": {
"buckets": []
}
}
}
but when you do an invalid index
it doesn’t even blow up
just doesn’t return anything other than hits
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 0,
"successful": 0,
"failed": 0
},
"hits": {
"total": 0,
"max_score": 0,
"hits": []
}
}
Blake Niemyjski
@niemyjski
Mar 18 2016 19:28
/all I’m about to add a case of beer as a bug bounty on this issue that’s been making me mad
Sander Rijken
@srijken
Mar 18 2016 19:31
do you deliver it here?
Blake Niemyjski
@niemyjski
Mar 18 2016 19:31
na
but I’ll paypal it
:D
from my own funds
Sander Rijken
@srijken
Mar 18 2016 19:31
hehe that bad?
Blake Niemyjski
@niemyjski
Mar 18 2016 19:31
I’m creating an issue right now
I took a look at it but it requires research
Sander Rijken
@srijken
Mar 18 2016 19:34
wtf, my ssd here only does 300MB/s
Blake Niemyjski
@niemyjski
Mar 18 2016 19:36
exceptionless/Exceptionless#203
Sander Rijken
@srijken
Mar 18 2016 19:36
I noticed
I wonder why my stuff isn’t showing up in there?
the activity feed on the right here
Blake Niemyjski
@niemyjski
Mar 18 2016 19:37
not sure if it only picks up the main repo
Sander Rijken
@srijken
Mar 18 2016 19:37
could be that
Eric J. Smith
@ejsmith
Mar 18 2016 20:01
So these guys have 600k events in their project and they tried to do a reset data.
it is deleting the data REALLLLLLY slowly.
no idea why it’s taking so long.
Blake Niemyjski
@niemyjski
Mar 18 2016 20:06
lm?
happening in a background job
wonder if renew locks would get called
Eric J. Smith
@ejsmith
Mar 18 2016 20:07
yeah, but insanely slow
Blake Niemyjski
@niemyjski
Mar 18 2016 20:07
really no way for us to continue the lock inside of a repository method
:(
be a good test
I have a backup locally I could try to reset it
Eric J. Smith
@ejsmith
Mar 18 2016 20:09
SlideRoom Submit
Blake Niemyjski
@niemyjski
Mar 18 2016 20:09
ok
Eric J. Smith
@ejsmith
Mar 18 2016 20:19
@niemyjski you should update to the latest Foundatio
Blake Niemyjski
@niemyjski
Mar 18 2016 20:24
yeah..
been wanting to but was holding off a bit due to the .net pull request.. but guess that’s a search and replace..
we are running a faily new build right before all of your job changes
Eric J. Smith
@ejsmith
Mar 18 2016 20:27
yeah, but I fixed a bunch more queue issues since then
and I just noticed that our queue stopped processing.
Blake Niemyjski
@niemyjski
Mar 18 2016 20:31
did you restart it
I’ll update it right now
in the period of a week
you’ve broken the api once
in two weeks
twice
@ejsmith is on a roll D:
Blake Niemyjski
@niemyjski
Mar 18 2016 20:36
must say they are good foundatio changes tho
Eric J. Smith
@ejsmith
Mar 18 2016 20:38
yes, good, but breaking...
my theory on that is that I am only breaking us.
until I see that others are using the library besides simple things like queues then I will start worrying more about breaking changes.
Blake Niemyjski
@niemyjski
Mar 18 2016 20:42
brb about to get blown into outerspace by my fan
I just don’t get it
a text editor that can’t run performant on a beast of a machine
like
I should be able to run vs on my iphone
insanely fast io, fast processor
Blake Niemyjski
@niemyjski
Mar 18 2016 20:49
@ejsmith
    protected override Task<ILock> GetLockAsync(CancellationToken cancellationToken = new CancellationToken()) {
        throw new NotImplementedException();
    }

    protected override Task<ILock> GetJobLockAsync() {
        return _lockProvider.AcquireAsync(nameof(RetentionLimitsJob), TimeSpan.FromHours(2), new CancellationToken(true));
    }
what arem
Eric J. Smith
@ejsmith
Mar 18 2016 20:49
huh?
Blake Niemyjski
@niemyjski
Mar 18 2016 20:49
why aren’t we doing =Default(CancellationToken)
Eric J. Smith
@ejsmith
Mar 18 2016 20:50
where?
Blake Niemyjski
@niemyjski
Mar 18 2016 20:50
ah guess that is the default that vs generates
in getlock async
Eric J. Smith
@ejsmith
Mar 18 2016 20:50
on?
Blake Niemyjski
@niemyjski
Mar 18 2016 20:50
for getlock async
I generated it from vs
and it did the one above insteand of doing CancellationToken cancellationToken = default(CancellationToken)
Eric J. Smith
@ejsmith
Mar 18 2016 20:51
Foundatio code looks right
Blake Niemyjski
@niemyjski
Mar 18 2016 20:51
do you remember if it defaults to a cancelled token?
we were passing it a cancelled token and not sure if I still need to do that
Eric J. Smith
@ejsmith
Mar 18 2016 20:51
no, it defaults to a token that doesn’t get cancelled.
Blake Niemyjski
@niemyjski
Mar 18 2016 20:51
so I guess I need to create a linked cancellation token?
or just ignore theres?
Eric J. Smith
@ejsmith
Mar 18 2016 20:52
for what?
Blake Niemyjski
@niemyjski
Mar 18 2016 20:52
    protected override Task<ILock> GetLockAsync(CancellationToken cancellationToken = default(CancellationToken)) {
        return _lockProvider.AcquireAsync(nameof(RetentionLimitsJob), TimeSpan.FromHours(2), new CancellationToken(true));
Eric J. Smith
@ejsmith
Mar 18 2016 20:52
why would you need to create a linked one?
Blake Niemyjski
@niemyjski
Mar 18 2016 20:52
guess we’ll just keep passing ours in
Eric J. Smith
@ejsmith
Mar 18 2016 20:52
your code is right
leave it
Blake Niemyjski
@niemyjski
Mar 18 2016 20:53
we were doing that on all of ours
Eric J. Smith
@ejsmith
Mar 18 2016 20:53
the cancellation token being passed in is if someone wants to cancel the job… but you aren’t waiting for the lock
so you don’t need a cancel.
Blake Niemyjski
@niemyjski
Mar 18 2016 20:53
yep
Blake Niemyjski
@niemyjski
Mar 18 2016 20:58
            _metricsClient.Time(() => {
made that async too
jesus
async all the things
lol
        // Foundation service provider
        ServiceProvider.Current = container;
ditching that completely eh :D
Eric J. Smith
@ejsmith
Mar 18 2016 21:01
yep
no more
service locator
Blake Niemyjski
@niemyjski
Mar 18 2016 21:33
updated
Eric J. Smith
@ejsmith
Mar 18 2016 21:34
Cool
Blake Niemyjski
@niemyjski
Mar 18 2016 21:37
deployed
did a very quick smokescreen
@sharathsatish sorry, we updated a ton of dependencies :\
stats and everything looks good
don’t see us running into any issues
wish we had a way to see if every job started up
@ejsmith I think after the search stuff I’m going to work on some notifications
we have 40% of our total traffic at the end of the month is blocked
Blake Niemyjski
@niemyjski
Mar 18 2016 21:42
we should be sending out notifications for when you get throttled / hit your limit
Sander Rijken
@srijken
Mar 18 2016 21:43
+1
Blake Niemyjski
@niemyjski
Mar 18 2016 22:01
@ejsmith from the curator issue they appear to have fixed the issue with the slow snapshots in 2.0
but not backported as far as we know
Eric J. Smith
@ejsmith
Mar 18 2016 22:03
Yeah, would be good.
Blake Niemyjski
@niemyjski
Mar 18 2016 22:04
I’m wondering if we need to keep 7 days..
7 * 24 is how many dam backups we are creating of orgs
and stacks
probably be good with 5 days
Eric J. Smith
@ejsmith
Mar 18 2016 22:04
That's not that many.
Leave it on that.
Blake Niemyjski
@niemyjski
Mar 18 2016 22:05
yeah
Eric J. Smith
@ejsmith
Mar 18 2016 22:05
Wonder if you can roll it up to be 1 per day.
Blake Niemyjski
@niemyjski
Mar 18 2016 22:05
that would be cool
Eric J. Smith
@ejsmith
Mar 18 2016 22:05
Guess we could do different snapshots.
Blake Niemyjski
@niemyjski
Mar 18 2016 22:06
like a daily
Eric J. Smith
@ejsmith
Mar 18 2016 22:06
1 that runs hourly and gets deleted after 24 hours
And 1 that runs daily
Blake Niemyjski
@niemyjski
Mar 18 2016 22:06
and then only keep the last 24 hours of hourly
yeah
Eric J. Smith
@ejsmith
Mar 18 2016 22:06
Yes
Can make the hourly one run every hour except the hour that the daily runs
Sander Rijken
@srijken
Mar 18 2016 23:14
@ejsmith just got some benchmarks in running with and without deduplicating.. they’re not quite what we expected
Eric J. Smith
@ejsmith
Mar 18 2016 23:20
no?
not finding many dupes?
Sander Rijken
@srijken
Mar 18 2016 23:21
Benchmarks not tests. We were afraid the hashing would slow things down
Eric J. Smith
@ejsmith
Mar 18 2016 23:21
ahh
so the hashing seems to be having a perf hit?
Sander Rijken
@srijken
Mar 18 2016 23:21
old code is 11 ms, for de deduplication plugin
new code 0.08ms. It's so much faster that it's hard to believe
Eric J. Smith
@ejsmith
Mar 18 2016 23:22
haha
you broke it!! :-)
Sander Rijken
@srijken
Mar 18 2016 23:22
dunno. Everything seems to work like it should
Eric J. Smith
@ejsmith
Mar 18 2016 23:22
so you are pretty sure its working right?
if so, that is awesome.
Sander Rijken
@srijken
Mar 18 2016 23:23
testcase says its deduping
and that's without the benefit of sending fewer requests
Eric J. Smith
@ejsmith
Mar 18 2016 23:24
that would be great
Sander Rijken
@srijken
Mar 18 2016 23:24
yeah
i think that it's slow because it's not deduplicating
But it is keeping track of all the hashcodes
Eric J. Smith
@ejsmith
Mar 18 2016 23:25
yeah