teammomentum / bs-url-normalizer Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
libmomentum_url_normalizer.a を組み込んでいるサーバの スレッドが固まり、停止する事象がある程度の頻度で起こっています。
core から backtrace を取ると、以下のように libmomentum_url_normalizer.a の cgo module 内で hang するスレッドが必ず残っており、他には hang する怪しいスレッドはないため、 golang の Runtime 内で固まっている疑いが濃いと見ています。
#0 runtime.futex () at /home/xx/local/go/src/runtime/sys_linux_amd64.s:423
#1 0x00007f8276b5f032 in runtime.futexsleep (addr=0x7f8276ea8670, val=0, ns=-1)
at /home/tatsuya/local/go/src/runtime/os_linux.go:45
#2 0x00007f8276b476ff in runtime.notesleep (n=0x7f8276ea8670)
at /home/tatsuya/local/go/src/runtime/lock_futex.go:145
#3 0x00007f8276b67111 in runtime.stopm () at /home/xx/local/go/src/runtime/proc.go:1650
#4 0x00007f8276b67f38 in runtime.findrunnable (gp#10=0xc42001e600, inheritTime=false)
at /home/tatsuya/local/go/src/runtime/proc.go:2102
#5 0x00007f8276b68ad0 in runtime.schedule () at /home/xx/local/go/src/runtime/proc.go:2222
#6 0x00007f8276b68dd1 in runtime.park_m (gp=0xc4204309c0) at /home/tatsuya/local/go/src/runtime/proc.go:2285
#7 0x00007f8276b868e3 in runtime.mcall () at /home/xx/local/go/src/runtime/asm_amd64.s:269
#8 0x00007f8276ea8200 in runtime.work () from /usr/lib64/libmomentum_url_normalizer.a
#9 0x00007f82746b4d70 in ?? ()
#10 0x00007f8276ea8200 in runtime.work () from /usr/lib64/libmomentum_url_normalizer.a
#11 0x00007f82746b4d60 in ?? ()
#12 0x00007f8276b660a6 in runtime.mstart () at /home/xx/local/go/src/runtime/proc.go:1149
#13 0x00007f8276b8675b in runtime.rt0_go () at /home/xx/local/go/src/runtime/asm_amd64.s:169
#14 0x00007f8200000001 in ?? ()
#15 0x00007fff561afa38 in ?? ()
#16 0x0000000000000001 in ?? ()
#17 0x00007fff561afa38 in ?? ()
#18 0x00007f82746b5700 in ?? ()
#19 0x0000003a17807aa1 in start_thread () from /lib64/libpthread.so.0
#20 0x0000003a174e8bcd in clone () from /lib64/libc.so.6
golang の Runtime は内部で何をやっているかわからず(=スレッドセーフかどうかもわからない)、安定動作に寄与するか疑わしいことと、 libmomentum_url_normalizer 自体はそんなに難しいことはやっていないため、
golang で書かれた libmomentum_url_normalizer を別の言語で書き直す方向で検討中です。
momentum 側に何かアクションを要求するわけではありませんが、以上、御報告致します。
ユーザ空間がサブドメインではなくドメイン配下のパス階層として区分されているドメインを、パス階層含む第二正規化方式対象として追加
www.ne.jp/asahi/*/*/
) ※ http://www.asahi-net.or.jp/~ユーザーIDwww.asahi-net.or.jp/~UserID/*
)adserver + placement id をキーとする
bs-url-normalizer は 2019年9月9日(月) からパブリックリポジトリとして公開することを予定しています。プログラムは Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0) の元で公開されます。
issue も公開されることになりますので問題ないか確認をお願いします。
ご連絡はこの issue または [email protected] までお願いします。
bs-url-normalizer will be a public repository on Monday, September 9, 2019. The program is released under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
GitHub Issues
will be public too. Please check the issues that are related to you and make sure there are no problems.
Please contact [email protected] if you have any question.
Copyright 2019 Momentum Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
HashでBodyが変わるページを調査する
Not to distinguish the URL by general query parameters
On FirstNormalizeURL()
(as same as the utm_*
params)
_gl
: for Cross-Domain Tracking
?_gl=1*1g3qoam*_ga*XXXXXXXXYYYYYYZZZZZ..
https://github.com/TeamMomentum/momentum-docs/issues/1012#issuecomment-508364782
host.go では resources/norm_host_path.csv を読み込み、第2正規化の時にパスを残す処理をしている。類似の処理が optimize.go にもあり、こちらはコード内に正規表現がマッチするようなものを残す処理をしている。
これらの目的をほぼ同じであるが、2つのアプローチが存在している。
要件を定義し、どちらかにまとめたい。
Purpose:
make lint
taskn2url: http://www.oocities.org/giga0660
should be http://www.oocities.org/giga0660
instead of http://www.oocities.org
bs-url-normalizer は 2019年9月9日(月) からパブリックリポジトリとして公開することを予定しています。プログラムは Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0) の元で公開されます。
issue も公開されることになりますので問題ないか確認をお願いします。
ご連絡はこの issue または [email protected] までお願いします。
bs-url-normalizer will be a public repository on Monday, September 9, 2019. The program is released under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
GitHub Issues
will be public too. Please check the issues that are related to you and make sure there are no problems.
Please contact [email protected] if you have any question.
Copyright 2019 Momentum Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
現状の第1・第2正規化URLはシステム間連携用に調整しているもので、ダッシュボード表示用途やファイルでのURLリスト提供用途としては不向きなケースがある。
例: スキーマが http://
に固定される、 末尾 '/' が付与されてアクセスできないURLになる、など
スキーマ除外、パス階層深度調整、サブドメイン一致(ワイルドカード)かホスト名完全一致かの区別などを検討し、新規の正規化方式を実装したい
入力としてAMP Cache URLを受け取った際に、元のURLに戻して正規化する
例:
https://amp-dev.cdn.ampproject.org/c/s/amp.dev/index.amp.html -> https://amp.dev/index.amp.html ->
http://amp.dev/index.amp.html/
bs-url-normalizer は 2019年9月9日(月) からパブリックリポジトリとして公開することを予定しています。プログラムは Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0) の元で公開されます。
issue も公開されることになりますので問題ないか確認をお願いします。
ご連絡はこの issue または [email protected] までお願いします。
bs-url-normalizer will be a public repository on Monday, September 9, 2019. The program is released under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
GitHub Issues
will be public too. Please check the issues that are related to you and make sure there are no problems.
Please contact [email protected] if you have any question.
Copyright 2019 Momentum Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
n2url: http://www.youtube.com/channel/UCBD4RO82lle5CyB_M9dtwzw
should be http://www.youtube.com/channel/UCBD4RO82lle5CyB_M9dtwzw
instead of http://www.youtube.com
bs-url-normalizer は 2019年9月9日(月) からパブリックリポジトリとして公開することを予定しています。プログラムは Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0) の元で公開されます。
issue も公開されることになりますので問題ないか確認をお願いします。
ご連絡はこの issue または [email protected] までお願いします。
bs-url-normalizer will be a public repository on Monday, September 9, 2019. The program is released under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
GitHub Issues
will be public too. Please check the issues that are related to you and make sure there are no problems.
Please contact [email protected] if you have any question.
Copyright 2019 Momentum Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
現在、JS版では IPv6 をサポートしていない。
https://github.com/TeamMomentum/bs-url-normalizer/blob/master/js/Makefile#L16
#utf8の場合はParse しないようにする。
https://www8.atwiki.jp/puzzlederby/pages/103.html#%u95D8%u5FD7%u306E%u6069%u6075
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.