Turning off ActiveSupport::Subscribers / Notifications - performance

I'm using stackprof to profile a sinatra application which uses Active Record. When I inspect the output of the generated files, I get the following:
[vagrant#localhost vagrant]$ bin/stackprof tmp/stackprof-cpu-5754-1468440335.dump --text --limit 10
==================================
Mode: cpu(1000)
Samples: 146 (1.35% miss rate)
GC: 7 (4.79%)
==================================
TOTAL (pct) SAMPLES (pct) FRAME
19 (13.0%) 18 (12.3%) ActiveSupport::Subscriber#start
10 (6.8%) 10 (6.8%) ActiveRecord::Timestamp#current_time_from_proper_timezone
13 (8.9%) 9 (6.2%) Logger#add
285 (195.2%) 5 (3.4%) Statsd#time
5 (3.4%) 5 (3.4%) block in ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter#execute
6 (4.1%) 5 (3.4%) ActiveRecord::LazyAttributeHash#[]
12 (8.2%) 5 (3.4%) ActiveSupport::Subscriber#finish
4 (2.7%) 4 (2.7%) ActiveRecord::Relation#initialize_copy
6 (4.1%) 4 (2.7%) block (2 levels) in Class#class_attribute
3 (2.1%) 3 (2.1%) Logger::Formatter#format_datetime
When I subscribe and log the notifications, they are simply AR query notifications, which I don't care about at the moment.
It also appears that ActiveSupport::Subscribers / notifications are a performance bottleneck. Is there a way to disable turn these via an ActiveSupport configuration?

Related

why my dxf file not working in AutoCAD giving me ID 11 incorrect: already used

I have generated a dxf file but when I opened it with AutoCAD, crashes AutoCAD and gives a message ID 11 incorrect: already used.
the dxf content: https://github.com/tarikjabiri/dxf/blob/dev/examples/latest.dxf
I can't spot the problem 3 days I am trying to solve it.
I think something wrong with the APPID because it holding the ID 11 or the Handle in the language of DXF.
I have a dxf working: https://github.com/tarikjabiri/dxf/blob/dev/examples/Minimal_DXF_AC1021.dxf
Thanks in advance.
There are two minor issues:
DIMSTYLE table
0
TABLE
2
DIMSTYLE
105 <<< handle group code of the table "head" is 5 as usual
8
100
AcDbSymbolTable
100
AcDbDimStyleTable
70
1
0
DIMSTYLE
5 <<< handle group code of the table entry is 105
12
330
8
100
AcDbSymbolTableRecord
100
AcDbDimStyleTableRecord
2
STANDARD
70
0
40
1
BLOCK_RECORD table entries for *MODEL_SPACE and *PAPER_SPACE
0
TABLE
2
BLOCK_RECORD
5
9
330
0
100
AcDbSymbolTable
70
2
0
BLOCK_RECORD
5
14
330
9
100
AcDbSymbolTableRecord
100
AcDbRegAppTableRecord <<< subclass marker string "AcDbBlockTableRecord"
2
*MODEL_SPACE
70
0
70
0
280
After this changes the file opens in Autodesk DWG Trueview 2022.

How to sort the files by size and based subdirectory un Unix?

I have the below input data in a file and need to get the output as mentioned below.
Need to sort the data by size(Asc/des)/by subdirectory
Below is the input which is there in a file:
120 /root/path2/part-00000-d3700305-428d-4b13-8161-42051f4ac5ed-c000.json
532 /root/path1/part-00000-9aa3e423-084b-406b-8c75-d50c369f1943-c000.json
100 /root/path1/Telephone-bill-September-2019-89051_path.doc
72 /root/path2/BishnuPrasadRout[5_0].doc
4 /root/path2/survey.csv
4 /root/path2/hello.c
4 /root/path1/pages.txt
4 /root/path1/hadoopexam.txt
Expected Output
120 /root/path2/part-00000-d3700305-428d-4b13-8161-42051f4ac5ed-c000.json
72 /root/path2/BishnuPrasadRout[5_0].doc
4 /root/path2/survey.csv
4 /root/path2/hello.c
532 /root/path1/part-00000-9aa3e423-084b-406b-8c75-d50c369f1943-c000.json
100 /root/path1/Telephone-bill-September-2019-89051_path.doc
4 /root/path1/pages.txt`*enter code here*`
4 /root/path1/hadoopexam.txt
`````````````````````````````````````````

Cant run app Nativescript on iOS but runs on android

Cant run app Nativescript on iOS but runs on android
My code works ok android with no problems but in iOS i get those erros below.
and i have no ideia why, what im missing ???? Its a plugin? Module?
Any help would be good cuz im lost here. thanks
when i run tns run ios --env.aot --env.uglify.
the erros i get when running the app :
***** Fatal JavaScript exception - application has been terminated. *****
Native stack trace:
1 0x10fe3991f NativeScript::reportFatalErrorBeforeShutdown(JSC::ExecState*, JSC::Exception*, bool)
2 0x10fe71b60 NativeScript::FFICallback<NativeScript::ObjCMethodCallback>::ffiClosureCallback(ffi_cif*, void*, void**, void*)
3 0x110812dd6 ffi_closure_unix64_inner
4 0x1108137fa ffi_closure_unix64
5 0x114515d22 -[CALayer layoutSublayers]
6 0x11451a9fc CA::Layer::layout_if_needed(CA::Transaction*)
7 0x114526d58 CA::Layer::layout_and_display_if_needed(CA::Transaction*)
8 0x11449624a CA::Context::commit_transaction(CA::Transaction*)
9 0x1144cd606 CA::Transaction::commit()
10 0x116f942c3 __34-[UIApplication _firstCommitBlock]_block_invoke_2
11 0x115a97cbc __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__
12 0x115a97480 __CFRunLoopDoBlocks
13 0x115a91d04 __CFRunLoopRun
14 0x115a914d2 CFRunLoopRunSpecific
15 0x11b8af2fe GSEventRunModal
16 0x116f7afc2 UIApplicationMain
17 0x11081363d ffi_call_unix64
18 0x12db4cf70
JavaScript stack trace:
1 #file:///node_modules/tns-core-modules/ui/content-view/content-view.js:44:0
2 _eachLayoutView#file:///node_modules/tns-core-modules/ui/core/view/view-common.js:1015:0
3 #file:///node_modules/tns-core-modules/ui/proxy-view-container/proxy-view-container.js:45:0
4 eachChildView#file:///node_modules/tns-core-modules/ui/layouts/layout-base-common.js:125:0
5 _eachLayoutView#file:///node_modules/tns-core-modules/ui/proxy-view-container/proxy-view-container.js:43:0
6 get#file:///node_modules/tns-core-modules/ui/content-view/content-view.js:38:0
7 onMeasure#file:///node_modules/tns-core-modules/ui/page/page.js:272:0
8 measure#file:///node_modules/tns-core-modules/ui/core/view/view.js:55:0
9 measureChild#file:///node_modules/tns-core-modules/ui/core/view/view-common.js:954:0
10 i#file:///node_modules/tns-core-modules/ui/core/view/view.js:636:0
11 viewDidLayoutSubviews#file:///node_modules/tns-core-modules/ui/page/page.js:192:0
12 UIApplicationMain#[native code]
13 S#file:///node_modules/tns-core-modules/application/application.js:277:0
14 run#file:///node_modules/tns-core-modules/application/application.js:305:0
15 bootstrapNativeScriptApp#file:///node_modules/nativescript-angular/platform-common.js:205:0
16 bootstrapApp#file:///node_modules/nativescript-angular/platform-common.js:106:0
17 bootstrapModuleFactory#file:///node_modules/nativescript-angular/platform-common.js:77:0
18 #file:///app/bundle.js:72:449
19 ./main.ts#file:///app/bundle.js:72:477
20 k#file:///src/webpack/bootstrap:750:0
21 n#file:///src/webpack/bootstrap:43:0
22 r#file:///src/webpack/bootstrap:30:0
23 anonymous#file:///src/$_lazy_route_resource lazy namespace object:2:0
24 evaluate#[nat<…>
JavaScript error:
file:///node_modules/tns-core-modules/ui/content-view/content-view.js:44:0 JS ERROR Error: More than one layout child inside a
1 UIApplicationMain#[native code]
2 S#file:///node_modules/tns-core-modules/application/application.js:277:0
3 run#file:///node_modules/tns-core-modules/application/application.js:305:0
4 bootstrapNativeScriptApp#file:///node_modules/nativescript-angular/platform-common.js:205:0
5 bootstrapApp#file:///node_modules/nativescript-angular/platform-common.js:106:0
6 bootstrapModuleFactory#file:///node_modules/nativescript-angular/platform-common.js:77:0
7 #file:///app/bundle.js:72:449
8 ./main.ts#file:///app/bundle.js:72:477
9 k#file:///src/webpack/bootstrap:750:0
10 n#file:///src/webpack/bootstrap:43:0
11 r#file:///src/webpack/bootstrap:30:0
12 anonymous#file:///src/$_lazy_route_resource lazy namespace object:2:0
13 evaluate#[native code]
14 moduleEvaluation#:1:11
15 promiseReactionJob#:1:11
Somewhere in your source, usually at the root of a particular component's html/xml, you have a view that is only rendered on iOS. However, because it fails on iOS and not Android, it is likely that you have not placed the similar restriction on the other top-level element.
<ios>
<Label text="only iOS"></Label>
</ios>
<Label text="only Android"></Label> <!-- Error; is present in template for both!! -->
It is hard for me to guess where exactly the issue might be, but I'd suggest having a look through your templates for the usage of ios.
Well in ios u cant have free templates floating arround everything was too be inside a LayoutContainer
Android (Works) iOS (Don't Work)
<GridLayout>
(... Content)
</GridLayout>
<GridLayout>
(... More Content)
</GridLayout>
Android (Works) iOS (Works)
<GridLayout> // MAIN CHILD
(... Content)
<GridLayout>
(... More Content)
</GridLayout>
</GridLayout>

Laravel 5.7 Database Design Layout / Average from Collection

I have a situation where each Order can have Feedback. In case the product is physical, the Feedback can have many packaging_feedbacks. The packaging_feedbacks are supposed to be a relation to the packaging_feedback_details.
Feedback Model
public function packagingFeedbacks()
{
return $this->hasManyThrough('App\PackagingFeedbackDetail', 'App\PackagingFeedback',
'feedback_id', 'id', 'id', 'user_selection');
}
packaging_feedback_details
id|type_id(used to group the "names" for each feedback option)|name
1 0 well packed
2 0 bad packaging
3 1 fast shipping
4 1 express delivery
packaging_feedbacks
id|feedback_id|user_selection (pointing to the ID of packaging_feedback_details)
1 1 2
2 1 6
3 1 7
4 1 12
5 1 15
6 1 17
7 2 1
8 2 6
9 2 7
10 2 12
11 2 15
12 2 17
13 3 1
14 3 6
15 3 7
16 3 12
17 3 15
18 3 17
Now I would like to be able to get the average selection of the users for a physical product. I started by using:
$result = Product::with('userFeedbacks.packagingFeedbacks')->where('id', 1)->first();
$collection = collect();
foreach ($result->userFeedbacks as $key) {
foreach ($key->packagingFeedbacks as $skey) {
$collection->push($skey);
}
}
foreach ($collection->groupBy('type_id') as $key) {
echo($key->average('type_id'));
}
But it returns not the average id since it will calculate the average not the way I need it to calculate. Is there some better way, because I think it's not the cleverest way to do so. Is my database design, in general, the "best" way to handle this?
The type of average you're looking for here is mode. Laravel's collection instances have a mode() method which was introduced in 5.2 which when provide a key returns an array containing the highest occurring value for that key.
If I have understood your question correctly this should give you what you're after:
$result->userFeedbacks
->flatMap->packagingFeedbacks
->groupBy('type_id')
->map->mode('id');
The above is taking advantage of flatMap() and higher order messages() on collections.

Suggestions on what patterns/analysis to derive from Airlines Big Data

I recently started learning Hadoop,
I found this data set http://stat-computing.org/dataexpo/2009/the-data.html - (2009 data),
I want some suggestions as what type of patterns or analysis can I do in Hadoop MapReduce, i just need something to get started with, If anyone has a better data set link which I can use for learning, help me here.
The attributes are as:
1 Year 1987-2008
2 Month 1-12
3 DayofMonth 1-31
4 DayOfWeek 1 (Monday) - 7 (Sunday)
5 DepTime actual departure time (local, hhmm)
6 CRSDepTime scheduled departure time (local, hhmm)
7 ArrTime actual arrival time (local, hhmm)
8 CRSArrTime scheduled arrival time (local, hhmm)
9 UniqueCarrier unique carrier code
10 FlightNum flight number
11 TailNum plane tail number
12 ActualElapsedTime in minutes
13 CRSElapsedTime in minutes
14 AirTime in minutes
15 ArrDelay arrival delay, in minutes
16 DepDelay departure delay, in minutes
17 Origin origin IATA airport code
18 Dest destination IATA airport code
19 Distance in miles
20 TaxiIn taxi in time, in minutes
21 TaxiOut taxi out time in minutes
22 Cancelled was the flight cancelled?
23 CancellationCode reason for cancellation (A = carrier, B = weather, C = NAS, D = security)
24 Diverted 1 = yes, 0 = no
25 CarrierDelay in minutes
26 WeatherDelay in minutes
27 NASDelay in minutes
28 SecurityDelay in minutes
29 LateAircraftDelay in minutes
Thanks

Resources