These are chat archives for exceptionless/Discuss

19th
Oct 2015
Blake Niemyjski
@niemyjski
Oct 19 2015 06:21
Hey guys we deployed 3.1 a bit ago
If you see any issues let me know I'm going to bed. We think we solved the threading issues as its been running for a while now. I'm going to be doing optimization to the client side including that caching pr.
Sander Rijken
@srijken
Oct 19 2015 13:19
one thing I noticed was that a hidden stack didn't appear hidden. But it's the huge stack I told you about, so maybe that's the cause of it
speed is more than nice :D
Blake Niemyjski
@niemyjski
Oct 19 2015 13:47
Hmm link? We kick off a background task for all operations on stacks and events
And the Ui hasn't been updated yet to use task progresses
Blake Niemyjski
@niemyjski
Oct 19 2015 15:49
Screen Shot 2015-10-19 at 10.48.35 AM.png
I’d say our changes are positive so far :)
Going to keep making more changes and then release a new version for self hosters.
Frank Ebersoll
@frankebersoll
Oct 19 2015 16:52
hey, I'm back :)
Blake Niemyjski
@niemyjski
Oct 19 2015 17:00
awesome!
me too
was a nice vacation
:)
My liver is glad I’m back too lol
Frank Ebersoll
@frankebersoll
Oct 19 2015 17:02
quite difficult architectural problems at work. Leader election in dynamic, distributed systems with asynchronous unreliable networking
sucks big time.
just looking into your commits for 3.1
Blake Niemyjski
@niemyjski
Oct 19 2015 17:06
:(
more commits incoming over today and this week
basically we found out that signalr was a huge pain point
so we went to raw metal using persistent connection and that helped a lot
but we still noticed that issue..
the huge win is when we got rid of the redis backplane for signalr
basically we were doing double message bus messages. one that’s using our apps message bus and signalr subscribes and then signalr was using it’s own message bus which I don’t think is that well tested, we’ve always had issues with it
Frank Ebersoll
@frankebersoll
Oct 19 2015 17:08
uh-oh
Blake Niemyjski
@niemyjski
Oct 19 2015 17:08
we did some thinking and we removed it because we don’t think we need it as we manage connections already and our whole app gets messages on each node so we shouldn’t need there message bus.. we did some checks and it proved to be true
their*
Eric J. Smith
@ejsmith
Oct 19 2015 20:38
dang… finally the app seems to be decently fast.
keep going on and trying it and it’s staying fast.
Blake Niemyjski
@niemyjski
Oct 19 2015 20:39
:)
just wait until you see my next commit
Eric J. Smith
@ejsmith
Oct 19 2015 20:39
and looking at the resource consumption it is a heck of a lot more efficient now too.
Blake Niemyjski
@niemyjski
Oct 19 2015 20:39
shaved off a request and in some cases a second request and shaved off about 2seconds on localhost
Eric J. Smith
@ejsmith
Oct 19 2015 20:39
less requests and less data will be big help
Blake Niemyjski
@niemyjski
Oct 19 2015 20:39
yeah
kinda want to push my changes :D
lol
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:04
@niemyjski I need your help about that tsd tool :-)
Blake Niemyjski
@niemyjski
Oct 19 2015 21:05
hey
shoot
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:05
not because I question it, but because I want to understand what is happening there
Blake Niemyjski
@niemyjski
Oct 19 2015 21:05
I think you may need to add back that tsd reinstall -s (or what ever it was)
sure
so tsd is like nuget or npm but just for typescript definitions
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:05
If I understand correctly, we need that tsd reinstall to download the typings
Blake Niemyjski
@niemyjski
Oct 19 2015 21:05
we pull in the definitions via tsd
yes
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:06
yes. so far so good.
now, we don't have that in the developers' documentation.
Blake Niemyjski
@niemyjski
Oct 19 2015 21:06
so reinstall will install any missing packages because npm install tsd will only install tsd.. it won’t reinstall the definitions
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:06
we only do npm install there
Blake Niemyjski
@niemyjski
Oct 19 2015 21:06
because it should happen when you do npm install
because it was a default action i had setup
:)
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:07
but then, why does it work?
Blake Niemyjski
@niemyjski
Oct 19 2015 21:07
if you revert that one change for tsd and do npm install (it should install the defintions or atleast that’s what I remember it doing)
because the command I think was set in the packages.config
and npm looks at that for commands to run
I think
I’m going off my memory here
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:08
yes, there is a "prepublish" command there
which does exactly that: tsd reinstall -s
and from the npm documentation, prepublish will be called on install, too.
so, isn't that enough?
Blake Niemyjski
@niemyjski
Oct 19 2015 21:10
yeah
it should be
users will have to do npm install when they download it
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:10
and appveyor does, too.
Blake Niemyjski
@niemyjski
Oct 19 2015 21:10
yep
are you not seeing this behavior
like definitions being restored
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:11
well, for me it just worked. I never had to do anything about it.
and appveyor builds work, too - my current pull request has been built even without it. so maybe we don't need it.
Blake Niemyjski
@niemyjski
Oct 19 2015 21:12
I guess the best thing would be to
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:12
but it's just one line - I don't really mind :-D
Blake Niemyjski
@niemyjski
Oct 19 2015 21:12
delete your current directory and recheck it out
and just follow the steps and if you have the definitions then it works
hehe
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:12
I did that multiple times. doesn't appveyor do a clean build every time, too?
Blake Niemyjski
@niemyjski
Oct 19 2015 21:13
it should yes
it’s a completely new windows vm everytime the build runs
I wanted to run something by you but I think we may have the problem solved...
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:14
?
Blake Niemyjski
@niemyjski
Oct 19 2015 21:14
was wondering if you ever came across something to manage / throttle requests.
so basically we are debouncing signalr notifications for x time.. but lets say a request takes xx time.. Then they start pooling up.
would be nice to just throttle a call to a single end point (like if it’s currently being made) then return that response when the promise finishes
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:15
not really. well, long time ago, in an ASP.NET HTTP Module
Blake Niemyjski
@niemyjski
Oct 19 2015 21:16
yeah
just wondered if we could be smarter about things
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:18
so, where does the activation start? from the server?
we want to throttle notifications?
Blake Niemyjski
@niemyjski
Oct 19 2015 21:19
no
it was all client side
something I saw
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:19
can you give an example?
Blake Niemyjski
@niemyjski
Oct 19 2015 21:19
Say we get a signalr notification saying a new event occurred..
our lists were updating it every 2.5 seconds (now moved to 10)..
well it would trigger multiple calls to refresh the dashboards and each of them could take 5 seconds….
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:20
why don't we just push the data? :-)
Blake Niemyjski
@niemyjski
Oct 19 2015 21:20
so now you start getting more and more and more built up pending requests because every 2.5 seconds we say refresh due to a notification
I’ve thought of that but it would be hard
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:20
been there done that.
what would be hard about it?
Blake Niemyjski
@niemyjski
Oct 19 2015 21:23
never really built it that way probably would take a lot to change it to do it
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:25
it would be realtime :-)
I don't know, I did both. my last multi-user desktop app had some WCF callback channel exactly for that
at first, I used CSLA to fetch the data on notification
Blake Niemyjski
@niemyjski
Oct 19 2015 21:26
not touching wcf with a 1000ft pole
lol
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:26
:-D
Blake Niemyjski
@niemyjski
Oct 19 2015 21:27
would make everything faster but not sure it’s worth it right now.
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:27
daily business. after some initial pain, one gets used to it
Blake Niemyjski
@niemyjski
Oct 19 2015 21:27
would change everything and cause a lot of work
yeah
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:28
it wouldn't have to change everything. it could be incorporated where most updates happen
what are the most frequent notifications?
Blake Niemyjski
@niemyjski
Oct 19 2015 21:32
every dashboard
but if one thing is going through it everything should
a lot of work I don’t want to take on or support right now.. maybe when we rewrite it in aurelia :)
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:33
WORD.
how far is that? haven't looked into it for some time
Blake Niemyjski
@niemyjski
Oct 19 2015 21:33
production ready, but is changing
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:34
i loved how Rob is putting aurelia code with angular side by side. had some good laughs
one thing I'd also like to see is some kind of indication that the UI is currently loading stuff.
this often confused me
Blake Niemyjski
@niemyjski
Oct 19 2015 21:36
we do have loading icons.. the grids could be better tho
any ideas
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:37
well, not putting the default text in it would be a start. The user's eyes go from "No projects were found." to "What the fuck?" to "Ah, up there, it's loading."
Blake Niemyjski
@niemyjski
Oct 19 2015 21:38
LOL
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:38
You know what I mean :-)
Blake Niemyjski
@niemyjski
Oct 19 2015 21:38
yeah
I know
I had the grid saying no data was found but eric wanted the exceptionless text
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:38
I did one project in MVC where I just put the JSON right into the view
Blake Niemyjski
@niemyjski
Oct 19 2015 21:38
to be honest.. I’m not happy with the whole filtering ui
I don’t like it that you don’t know what you are filtering on.
and users contact us 3 or 4 times a week saying omg I have no data what’s going on
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:39
so it loaded the JSON right from the script tag, and then got updates using the API or signalr push
Blake Niemyjski
@niemyjski
Oct 19 2015 21:39
and it’s cause they are filtering on something
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:39
but I guess it's 2015 and we have static UI deployment with html only.
Blake Niemyjski
@niemyjski
Oct 19 2015 21:39
yeah lol
would be nice to have json widgets
I’m just a nub :)
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:40
not at all, you're doing a great job.
and you know that ;)
Blake Niemyjski
@niemyjski
Oct 19 2015 21:41
thanks :)
still feel like a nub
lol
Eric J. Smith
@ejsmith
Oct 19 2015 21:43
the loading indicators definitely need to be better.
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:43
maybe closer to the grids somehow. I don't know.
Eric J. Smith
@ejsmith
Oct 19 2015 21:43
there are 2 things… 1 is initial load
which needs an indicator.
then there is we got notification that something changed… we want those to be unintrusive.
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:44
yes, right.
Eric J. Smith
@ejsmith
Oct 19 2015 21:44
user should only see new data pop in.
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:44
the initial load indicator should be where the user expects the data to be
Eric J. Smith
@ejsmith
Oct 19 2015 21:44
yeah, agreed.
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:44
he naturally looks there and should see some indication that something will appear there soon.
Eric J. Smith
@ejsmith
Oct 19 2015 21:45
the general network working indicator and something in the grid would be good.
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:45
unobtrusive, still.
Blake Niemyjski
@niemyjski
Oct 19 2015 21:45
ok guys.. I think I’m going to push this and go to dinner :D
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:45
another question... how would I go about a disconnected scenario? we have a customer that doesn't want its test lab connected to the internets.
Blake Niemyjski
@niemyjski
Oct 19 2015 21:45
@ejsmith is here :)
@frankebersoll self host
but then we are loading scripts from cdn with no fallback
Eric J. Smith
@ejsmith
Oct 19 2015 21:46
well, we can queue things up on a persisted queue...
Blake Niemyjski
@niemyjski
Oct 19 2015 21:46
oh I thought we were talking about the ui
lol
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:47
Self hosting in the test lab would be not very practical
Blake Niemyjski
@niemyjski
Oct 19 2015 21:47
@frankebersoll if you are using the .net client do client.configuration.useisolatedstorage() or client.configiguration.usefolderstorage
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:47
i thought about some USB solution.
Blake Niemyjski
@niemyjski
Oct 19 2015 21:47
You know… I wanted to do this in vnext
but create a relay node...
which would sit out there and just redirect requests and responses
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:48
stick in test lab, collect all the data, stick in developer pc, upload it.
yeah, that would be the alternative.
Eric J. Smith
@ejsmith
Oct 19 2015 21:48
yeah, the relay thing would work.
back in the Insight product days...
we had the ability for users to send a batch of events in an email attachment.
then we had a mailbox monitor
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:51
i think i will go for the relay solution. which still means to persuade them of additional network connectivity. but that would also make continuous deployment easier.
Eric J. Smith
@ejsmith
Oct 19 2015 21:51
yeah, I think that would be generally pretty useful thing to have a relay.
maybe a node process
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:52
or a TopShelf app
which would make windows service installation easier.
my customer would prefer the windows solution. what is your main user base?
Eric J. Smith
@ejsmith
Oct 19 2015 21:54
never played with topshelf… but the obvious nice thing about node would be that it could be run on non-windows platforms.
which I eventually want exceptionless itself to run on non-windows as well.
obviously I am super happy whichever way you want to go.
Frank Ebersoll
@frankebersoll
Oct 19 2015 21:56
i'll think about it. I kind of like both solutions.
Blake Niemyjski
@niemyjski
Oct 19 2015 21:56
good news is everything is documented now
lol
relay would be nicest but then you have to ask youself if you have that in palce they could just add the firewall rule for the domain
Eric J. Smith
@ejsmith
Oct 19 2015 21:57
people are goofy… but a relay in general is nice for when the service is down.
or you could have a bunch of apps reporting to the relay and then the relay gets to batch up the events to the server.
you could even aggregate some of the events based on rules to send less stuff.
Blake Niemyjski
@niemyjski
Oct 19 2015 21:59
yeah
that part would be nice
Frank Ebersoll
@frankebersoll
Oct 19 2015 22:04
what additional properties would you like to see in exceptions from JavaScript?
Eric J. Smith
@ejsmith
Oct 19 2015 22:05
not sure what we are missing.
Frank Ebersoll
@frankebersoll
Oct 19 2015 22:05
exceptionless/Exceptionless.JavaScript#8
Eric J. Smith
@ejsmith
Oct 19 2015 22:05
seems like you guys have captures them pretty well.
ahh
that was a long time ago with no details… lets see if this @niemyjski guy can remember what the heck he was thinking.
Frank Ebersoll
@frankebersoll
Oct 19 2015 22:06
he described the issue rather lean
Eric J. Smith
@ejsmith
Oct 19 2015 22:07
yeah he did ;-)
Blake Niemyjski
@niemyjski
Oct 19 2015 22:07
hey guys
Eric J. Smith
@ejsmith
Oct 19 2015 22:07
what do you have to say for yourself @niemyjski
?
Blake Niemyjski
@niemyjski
Oct 19 2015 22:07
@frankebersoll we don’t include the extra exception objects properties with error report
Frank Ebersoll
@frankebersoll
Oct 19 2015 22:08
exceptionless/Exceptionless.JavaScript#9 <= this one I understand a little - what I don't understand is how those duplicates happen in the first place
Blake Niemyjski
@niemyjski
Oct 19 2015 22:08
so if you have a custom javascript error we don’t break it down
side note… guys check out the site right now and let me know what you think :)
Frank Ebersoll
@frankebersoll
Oct 19 2015 22:08
can you give an example?
Blake Niemyjski
@niemyjski
Oct 19 2015 22:08
any faster?
@frankebersoll I’ll add comments to them in a few.
Frank Ebersoll
@frankebersoll
Oct 19 2015 22:09
@niemyjski blazing fast
Eric J. Smith
@ejsmith
Oct 19 2015 22:09
so your saying if I have a custom error that we want to snag the extra properties on it like we do in the .net client?
tremendously better.
I’m very happy. :-)
Blake Niemyjski
@niemyjski
Oct 19 2015 22:09
yeah
exactly eric
Eric J. Smith
@ejsmith
Oct 19 2015 22:10
I was quite frankly a little embarassed by it before.
Frank Ebersoll
@frankebersoll
Oct 19 2015 22:10
it doesn't feel sluggish any more
Blake Niemyjski
@niemyjski
Oct 19 2015 22:10
same I was emabarassed too
Eric J. Smith
@ejsmith
Oct 19 2015 22:10
now we just need to do something about that wordpress marketing site being horribly slow.
Blake Niemyjski
@niemyjski
Oct 19 2015 22:10
I still got a few things I can do to speed up time to first byte on page load
and a few other perf things I have on a list
yeah
it seems to be a lot faster after I upgraded our plan
Eric J. Smith
@ejsmith
Oct 19 2015 22:11
still seems like crap to me.
Blake Niemyjski
@niemyjski
Oct 19 2015 22:11
yeah
Eric J. Smith
@ejsmith
Oct 19 2015 22:11
we need to ditch wordpress and do a github static site.
or maybe a ghost site.
Blake Niemyjski
@niemyjski
Oct 19 2015 22:12
yeah
would be sick
Eric J. Smith
@ejsmith
Oct 19 2015 22:13
I think ghost would probably be the best.
happy medium
Blake Niemyjski
@niemyjski
Oct 19 2015 22:13
god dang
my hard work seems to finally be paying off
Eric J. Smith
@ejsmith
Oct 19 2015 22:14
yes, it is.
Blake Niemyjski
@niemyjski
Oct 19 2015 22:14
I just need a vacation every other week
and progress will be made :D
Eric J. Smith
@ejsmith
Oct 19 2015 22:14
@niemyjski seems to have forgotten who told him how to fix his issue. :-)
Blake Niemyjski
@niemyjski
Oct 19 2015 22:15
haha
who ever committed it fixed it :D
but he did help a bit
Frank Ebersoll
@frankebersoll
Oct 19 2015 22:18
okay, I'm out for today.
Eric J. Smith
@ejsmith
Oct 19 2015 22:18
man, if only that was true @niemyjski
you are getting all the credit
@frankebersoll later man!
Frank Ebersoll
@frankebersoll
Oct 19 2015 22:19
bye!